![]() |
企業SSO服務-WorkOS
專用API
【更新時間: 2024.09.01】
提供一體化單點登錄(SSO)解決方案,使企業應用能輕松集成多種身份提供商的登錄功能。開發者能快速添加企業級SSO支持,用戶通過SAML和OpenID Connect協議無縫登錄,減少開發時間,并提升企業應用的適用性。
$ 125 每個連接 / 月
去服務商官網采購>
|
瀏覽次數
27
采購人數
0
試用次數
0
收藏
×
完成
取消
×
書簽名稱
確定
|
- API詳情
- 定價
- 使用指南
- 常見 FAQ
- 關于我們
- 相關推薦


什么是WorkOS的企業SSO服務?
企業SSO服務-WorkOS是一種專為企業級應用設計的單點登錄解決方案,旨在簡化多身份提供商集成的復雜性。通過提供一個統一的API接口,WorkOS支持與20多個身份提供商的集成,包括流行的SAML和OpenID Connect協議。它允許企業用戶使用其現有的企業憑據訪問各種應用,減少了多重登錄的需求,并提高了安全性和用戶體驗。WorkOS還支持開發者自定義用戶體驗和數據庫管理,使其能夠輕松融入現有的應用架構中。
什么是WorkOS的企業SSO服務接口?
WorkOS的企業SSO服務有哪些核心功能?
- 支持SAML和OpenID Connect協議:為使用這些協議的任何身份提供者提供SSO。
- 快速集成:在幾天內支持您的第一位企業客戶。
- 支持20+身份提供者:包括Google和Microsoft等流行的OAuth提供商。
- 持久導航狀態:編碼有用的信息以幫助在重定向之間恢復應用程序狀態。
- 多種編程語言支持:包括Node.js、Ruby、Python、PHP和Java。
- Magic Link無密碼登錄:提供簡單的登錄選項,同時保障賬戶安全。
WorkOS的企業SSO服務的技術原理是什么?
WorkOS的企業SSO服務的核心優勢是什么?
- 99.99% 正常運行時間:為企業客戶保證正常運行時間 SLA
- 高級支持:專家指導的集成支持和響應時間 SLA
- 定制企業計劃:根據您的業務需求量身定制的基于合同的計劃
- 簡化集成:通過單一API同時支持SAML和OpenID Connect協議,實現快速而簡便的身份驗證集成。
- 廣泛支持:支持20多個主流身份提供商,確保企業可以靈活選擇和整合各種身份驗證服務。
在哪些場景會用到WorkOS的企業SSO服務?
1. 企業級應用開發:在開發需要與多個企業身份提供商集成的應用時,WorkOS簡化了SSO的實現過程,使開發者無需手動處理復雜的SAML和OpenID Connect協議集成,節省了開發時間并提高了安全性。
2. 增強企業安全性:對于需要加強登錄安全的企業,WorkOS允許用戶通過現有的企業身份驗證系統登錄應用,減少了管理多個憑據的復雜性,并提高了整體系統的安全性和一致性。
3. 用戶管理優化:在需要為企業用戶提供個性化體驗的場景中,WorkOS支持自定義登錄流程和數據管理,使開發者能夠創建符合企業需求的用戶界面,同時保持對數據的完全控制。




1.將 SSO 添加到您的應用程序
讓我們將 SSO 身份驗證工作流程構建到您的應用程序中。
安裝 WorkOS SDK
WorkOS 提供多種流行編程語言的本機 SDK。選擇下面的語言以查看使用您的應用程序語言的說明。
設定密鑰
要調用 WorkOS,請提供 API 密鑰,在某些情況下還需要提供客戶端 ID。將這些值存儲為托管機密,例如WORKOS_API_KEY和WORKOS_CLIENT_ID ,并將它們作為環境變量或根據您的首選項直接傳遞到應用程序的配置中。
環境變量
WORKOS_API_KEY='sk_example_123456789'
WORKOS_CLIENT_ID='client_123456789'
添加端點以啟動 SSO
通過 WorkOS API 啟動 SSO 的端點負責將身份驗證工作流程的其余部分移交給 WorkOS。下面顯示了幾個配置選項。
您可以使用可選的state參數對任意信息進行編碼,以幫助恢復重定向之間的應用程序狀態。
添加端點以啟動 SSO
通過 WorkOS API 啟動 SSO 的端點負責將身份驗證工作流程的其余部分移交給 WorkOS。下面顯示了幾個配置選項。
您可以使用可選的state參數對任意信息進行編碼,以幫助恢復重定向之間的應用程序狀態。
import type { NextApiRequest, NextApiResponse } from 'next';
import { WorkOS } from '@workos-inc/node';
const workos = new WorkOS(process.env.WORKOS_API_KEY);
const clientId = process.env.WORKOS_CLIENT_ID;
export default (_req: NextApiRequest, res: NextApiResponse) => {
// Use the Test Organization ID to get started. Replace it with
// the user’s real organization ID when you finish the integration.
const organization = 'org_test_idp';
// The callback URI WorkOS should redirect to after the authentication
const redirectUri = 'https://dashboard.my-app.com';
const authorizationUrl = workos.sso.getAuthorizationUrl({
organization,
redirectUri,
clientId,
});
res.redirect(authorizationUrl);
};
const express = require('express');
const { WorkOS } = require('@workos-inc/node');
const app = express();
const workos = new WorkOS(process.env.WORKOS_API_KEY);
const clientId = process.env.WORKOS_CLIENT_ID;
app.get('/auth', (_req, res) => {
// Use the Test Organization ID to get started. Replace it with
// the user’s real organization ID when you finish the integration.
const organization = 'org_test_idp';
// The callback URI WorkOS should redirect to after the authentication
const redirectUri = 'https://dashboard.my-app.com';
const authorizationUrl = workos.sso.getAuthorizationUrl({
organization,
redirectUri,
clientId,
});
res.redirect(authorizationUrl);
});
添加回調端點
接下來,我們添加重定向端點,該端點將在用戶通過其身份提供商進行身份驗證后處理來自 WorkOS 的回調。此端點應將 WorkOS 返回的授權代碼與經過身份驗證的用戶的配置文件進行交換。授權碼的有效期為10分鐘。
import type { NextApiRequest, NextApiResponse } from 'next';
import { WorkOS } from '@workos-inc/node';
const workos = new WorkOS(process.env.WORKOS_API_KEY);
const clientId = process.env.WORKOS_CLIENT_ID;
export default async (req: NextApiRequest, res: NextApiResponse) => {
const { code } = req.query;
const { profile } = await workos.sso.getProfileAndToken({
code,
clientId,
});
// Use the Test Organization ID to get started. Replace it with
// the user’s real organization ID when you finish the integration.
const organization = 'org_test_idp';
// Validate that this profile belongs to the organization used for authentication
if (profile.organizationId !== organization) {
return res.status(401).send({
message: 'Unauthorized',
});
}
// Use the information in `profile` for further business logic.
res.redirect('/');
};
2.配置重定向 URI
轉到重定向儀表板中的頁面來配置允許的重定向 URI。這是您在上一節中使用的回調端點。
多租戶應用程序通常會指定一個重定向 URI。您可以為單租戶應用程序設置多個重定向 URI。您需要確保指定在 WorkOS 客戶端調用中使用哪個重定向 URI 來獲取授權 URL。
身份提供商發起的 SSO
通常,您在 WorkOS 儀表板中配置的默認重定向 URI 將用于所有身份提供商發起的 SSO 會話。這是因為 WorkOS 客戶端不用于啟動身份驗證流程。
但是,您的客戶可以指定一個單獨的重定向 URI,作為其 SAML 設置中的RelayState參數,用于所有 IdP 發起的會話。
3.端到端測試
如果您按照本指南操作,則可以使用暫存環境中可用的測試組織來啟動 SSO。這樣,您就可以端到端地測試您的集成了。
詳情查看鏈接:https://workos.com/docs/sso/1-add-sso-to-your-app/set-secrets




實現平等進入企業市場
WorkOS 致力于幫助每家軟件公司做好企業準備。我們相信,任何軟件公司的應用都可以被世界上最大的企業所接受。
網絡
解鎖了平等分配。WorkOS
解鎖了平等訪問。
2019年成立 WorkOS 由 Michael Grinich 于 2019 年創立,他認識到滿足企業的復雜需求對于為軟件公司創造可持續的長期增長至關重要。 帶著這種認識,WorkOS 誕生了。 |
![]() |
![]() |
現代 API 用于授權和用戶身份 WorkOS 是一個現代 API 平臺,使任何開發人員能夠快速構建和交付復雜的企業功能:用戶管理、單點登錄 (SAML) 、目錄同步 (SCIM)和管理門戶(企業入門) 。 WorkOS 加速了 SaaS 公司的企業就緒之旅,因此他們的應用程序具有大型組織中“全面”采用的所有功能。 我們的客戶獲勝。他們的客戶獲勝。 |




1.將 SSO 添加到您的應用程序
讓我們將 SSO 身份驗證工作流程構建到您的應用程序中。
安裝 WorkOS SDK
WorkOS 提供多種流行編程語言的本機 SDK。選擇下面的語言以查看使用您的應用程序語言的說明。
設定密鑰
要調用 WorkOS,請提供 API 密鑰,在某些情況下還需要提供客戶端 ID。將這些值存儲為托管機密,例如WORKOS_API_KEY和WORKOS_CLIENT_ID ,并將它們作為環境變量或根據您的首選項直接傳遞到應用程序的配置中。
環境變量
WORKOS_API_KEY='sk_example_123456789'
WORKOS_CLIENT_ID='client_123456789'
添加端點以啟動 SSO
通過 WorkOS API 啟動 SSO 的端點負責將身份驗證工作流程的其余部分移交給 WorkOS。下面顯示了幾個配置選項。
您可以使用可選的state參數對任意信息進行編碼,以幫助恢復重定向之間的應用程序狀態。
添加端點以啟動 SSO
通過 WorkOS API 啟動 SSO 的端點負責將身份驗證工作流程的其余部分移交給 WorkOS。下面顯示了幾個配置選項。
您可以使用可選的state參數對任意信息進行編碼,以幫助恢復重定向之間的應用程序狀態。
import type { NextApiRequest, NextApiResponse } from 'next';
import { WorkOS } from '@workos-inc/node';
const workos = new WorkOS(process.env.WORKOS_API_KEY);
const clientId = process.env.WORKOS_CLIENT_ID;
export default (_req: NextApiRequest, res: NextApiResponse) => {
// Use the Test Organization ID to get started. Replace it with
// the user’s real organization ID when you finish the integration.
const organization = 'org_test_idp';
// The callback URI WorkOS should redirect to after the authentication
const redirectUri = 'https://dashboard.my-app.com';
const authorizationUrl = workos.sso.getAuthorizationUrl({
organization,
redirectUri,
clientId,
});
res.redirect(authorizationUrl);
};
const express = require('express');
const { WorkOS } = require('@workos-inc/node');
const app = express();
const workos = new WorkOS(process.env.WORKOS_API_KEY);
const clientId = process.env.WORKOS_CLIENT_ID;
app.get('/auth', (_req, res) => {
// Use the Test Organization ID to get started. Replace it with
// the user’s real organization ID when you finish the integration.
const organization = 'org_test_idp';
// The callback URI WorkOS should redirect to after the authentication
const redirectUri = 'https://dashboard.my-app.com';
const authorizationUrl = workos.sso.getAuthorizationUrl({
organization,
redirectUri,
clientId,
});
res.redirect(authorizationUrl);
});
添加回調端點
接下來,我們添加重定向端點,該端點將在用戶通過其身份提供商進行身份驗證后處理來自 WorkOS 的回調。此端點應將 WorkOS 返回的授權代碼與經過身份驗證的用戶的配置文件進行交換。授權碼的有效期為10分鐘。
import type { NextApiRequest, NextApiResponse } from 'next';
import { WorkOS } from '@workos-inc/node';
const workos = new WorkOS(process.env.WORKOS_API_KEY);
const clientId = process.env.WORKOS_CLIENT_ID;
export default async (req: NextApiRequest, res: NextApiResponse) => {
const { code } = req.query;
const { profile } = await workos.sso.getProfileAndToken({
code,
clientId,
});
// Use the Test Organization ID to get started. Replace it with
// the user’s real organization ID when you finish the integration.
const organization = 'org_test_idp';
// Validate that this profile belongs to the organization used for authentication
if (profile.organizationId !== organization) {
return res.status(401).send({
message: 'Unauthorized',
});
}
// Use the information in `profile` for further business logic.
res.redirect('/');
};
2.配置重定向 URI
轉到重定向儀表板中的頁面來配置允許的重定向 URI。這是您在上一節中使用的回調端點。
多租戶應用程序通常會指定一個重定向 URI。您可以為單租戶應用程序設置多個重定向 URI。您需要確保指定在 WorkOS 客戶端調用中使用哪個重定向 URI 來獲取授權 URL。
身份提供商發起的 SSO
通常,您在 WorkOS 儀表板中配置的默認重定向 URI 將用于所有身份提供商發起的 SSO 會話。這是因為 WorkOS 客戶端不用于啟動身份驗證流程。
但是,您的客戶可以指定一個單獨的重定向 URI,作為其 SAML 設置中的RelayState參數,用于所有 IdP 發起的會話。
3.端到端測試
如果您按照本指南操作,則可以使用暫存環境中可用的測試組織來啟動 SSO。這樣,您就可以端到端地測試您的集成了。
詳情查看鏈接:https://workos.com/docs/sso/1-add-sso-to-your-app/set-secrets






實現平等進入企業市場
WorkOS 致力于幫助每家軟件公司做好企業準備。我們相信,任何軟件公司的應用都可以被世界上最大的企業所接受。
網絡
解鎖了平等分配。WorkOS
解鎖了平等訪問。
2019年成立 WorkOS 由 Michael Grinich 于 2019 年創立,他認識到滿足企業的復雜需求對于為軟件公司創造可持續的長期增長至關重要。 帶著這種認識,WorkOS 誕生了。 |
![]() |
![]() |
現代 API 用于授權和用戶身份 WorkOS 是一個現代 API 平臺,使任何開發人員能夠快速構建和交付復雜的企業功能:用戶管理、單點登錄 (SAML) 、目錄同步 (SCIM)和管理門戶(企業入門) 。 WorkOS 加速了 SaaS 公司的企業就緒之旅,因此他們的應用程序具有大型組織中“全面”采用的所有功能。 我們的客戶獲勝。他們的客戶獲勝。 |