企业SSO服务-WorkOS
专用API
服务商:
WorkOS
【更新时间: 2024.09.01】
提供一体化单点登录(SSO)解决方案,使企业应用能轻松集成多种身份提供商的登录功能。开发者能快速添加企业级SSO支持,用户通过SAML和OpenID Connect协议无缝登录,减少开发时间,并提升企业应用的适用性。
$ 125 每个连接 / 月
去服务商官网采购>
|
服务星级:6星
浏览次数
6
采购人数
0
试用次数
0
SLA: N/A
响应: N/A
适用于个人&企业
收藏
×
完成
取消
×
书签名称
确定
|
- 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 公司的企业就绪之旅,因此他们的应用程序具有大型组织中“全面”采用的所有功能。 我们的客户获胜。他们的客户获胜。 |