- 文档首页
云身份中心
操作指南
集成外部身份
单点登录配置
如何完成Oauth2.0协议配置
如何完成Oauth2.0协议配置
- 已具备可用的企业身份系统,且身份系统支持OAuth 2.0单点登录协议,如飞书、飞连、Azure AD、Okta或其他采购/自建的系统。
- 已经创建或同步云身份中心用户。在单点登录过程中,云身份中心用户名称需要与企业身份系统传递的用户信息(例如用户ID、用户名、邮箱等)一一映射,请保证云身份中心用户名称准确。
配置基于OAuth2.0的SSO,流程如下:
- 在企业的身份提供方系统中注册应用,获取应用的客户端ID。
- 在云身份中心配置SSO登录设置,选择OAuth2.0作为协议类型,并配置各端点信息和用户映射规则,与企业的系统进行配对。
- 云身份中心与企业的身份系统,使用标准的OAuth2.0协议交互,实现在请求登录云身份中心时:
- 第一步:用户在企业身份系统登录后,点击授权登录云身份中心,将授权码传递给云身份中心;
- 第二步:云身份中心通过授权码,换取企业身份系统颁发的AccessToken(令牌);
- 第三步:云身份中心通过令牌,获取当前用户在企业身份系统的身份信息,最终并通过用户映射规则映射到云身份中心用户,实现SSO登录。
按照企业身份系统的要求,为访问云身份中心注册应用。您需要在企业身份系统中获取应用的ID、Secret和各端点信息。
在用户管理-用户登录设置-SSO登录设置中切换OAuth协议,点击开始配置。填写从企业内身份供应方系统获取的应用ID、应用密钥、授权端点、Token端点,Scope,用户信息端点和授权链接模板。
- 应用ID:用于标识当前应用的唯一 ID,由企业身份提供商分配,需与企业侧配置保持一致
- 应用Secret(密钥):应用的密钥,用于与企业身份提供商进行身份验证和信息加密,需妥善保管并与企业侧配置一致
- 授权端点:企业身份提供商提供的授权请求地址,用于发起用户身份验证流程
- Token端点:企业身份提供商提供的获取令牌地址,用于在用户授权通过后获取访问令牌等凭证
- 用户信息端点:企业身份提供商提供的用户信息获取地址,用于通过访问令牌获取企业用户身份的详细信息
- 授权范围:非必填,用于指定应用请求访问的用户信息范围,由企业身份提供商定义。多值请用空格分隔,不填则为空,使用企业身份提供商的默认范围
- 授权链接模板:在云身份中心门户发起企业SSO登录时,将使用此链接模板和参数拼接授权地址。其中authEndpoint、clientId为必需参数,scope为可选参数。云身份中心暂不支持配置state参数。作为服务提供方需要使用链接模板的格式去请求企业身份系统发code。
- 这是一个授权链接模版的例子:${authEndpoint}?client_id=${clientId}&scope=${scope}
- 这是一个拼接完成的授权链接的例子:https://idp.domain.com/authorize?client_id=xxxxx&scope=profile
- 用户映射规则:用于将企业身份提供商返回的用户信息与云身份中心的用户进行关联匹配的规则,如果您的企业身份系统返回的Userinfo为json嵌套格式,请用"."分隔,例如:user.name
说明
为保证安全性,火山引擎仅支持code的授权码模式,不支持直接传递token的授权码模式。
点击保存完成创建。
注意
若点击保存并应用,将会直接开启SSO登录,用户在门户上可见SSO登录入口。在配置完成前,建议点击仅保存。
在云身份中心完成配置之后,可在用户管理-用户登录设置-SSO登录设置的详情中查询到回调地址,您可将其复制,回填到企业身份系统对应的应用中。
通常在第一步中创建的应用,点击其详情页面,在OAuth协议配置中找到“应用回调地址”相关字段即可完成配置。
在云身份中心控制台,可在用户管理-用户登录设置-SSO登录设置中开启SSO登录。如您已完成SAML和OAuth两种协议的配置,请选择生效协议为OAuth协议。
开启后您的云身份中心登录门户即可见SSO登录入口。
OAuth登录过程中,云身份中心支持授权码模式的OAuth认证,需要通过企业身份系统的授权端点获取授权码、通过Token端点获取AccessToken、通过UserInfo端点获取用户信息。
其中获取授权码通过URL参数返回,获取AccessToken和用户信息的接口标准分别如下所示:
响应示例
响应示例
- 请注意,user_info 返回结果基于json结构即可。返回的格式影响在云身份中心OAuth协议配置中的用户映射规则:
- 如果user_info的返回格式为多层的json结构,需要映射的企业员工信息字段(例如为name字段)在内层,参考上方示例,则用户映射规则内取user.name即可。
- 如果user_info的返回格式为单层的json结构,需要映射的企业员工信息字段(例如为name字段)在最外层,则用户映射规则内取name即可。
最近更新时间:2025.09.16 00:27:57