配置OpenID Connect认证源
OpenID Connect认证源在下文中简称 OIDC认证源,是基于OAuth 2.0 的身份认证协议,更多介绍见快速理解OIDC。
本系统与OAuth 2.0交互中需要保证每步交互都开放在公网,需确保OAuth 2.0的接口可在公网访问。
第一步:配置OIDC凭证信息
- 登录本系统的管理后台,点击登录模块下的「认证源」,点击「添加认证源」。
- 点击「展开选择」按钮,可以看到标准协议的认证源。选择「OIDC」后,点击「确定」。
- 填写第三方身份提供商提供的基础设置信息(包括:CLient ID、CLient Secret、Scopes授权范围),然后点击「保存」按钮。注意:Scopes授权范围中,openid是必填项,否则在使用用户认证时,将无法识别用户信息
- 系统会为您生成「登录回调地址(Redirect URI)」,请您复制并做好记录。此项需要提供给第三方身份提供商进行配置
- 由于第三方身份提供商服务器时间会和OneID时间存在偏差,所以OneID支持设置「Max Clock Skew」,即:时间偏移量。在偏移范围内,Token都是有效的。建议设置为:60秒,不要设置太长
- 此外,OneID声明自己OIDC模式以及使用的签名算法,目前OIDC仅支持「授权码模式(Authorization Code)」,id_Token签名算法也仅支持「RSA-SHA256」。此项需要告知给第三方身份提供商
第二步:Endpoint配置
OneID支持「Well-Known接口」、「解析issuer」和「手动输入」三种方式进行Endpoint配置,您可以根据第三方身份提供商提供的OIDC配置信息方式进行选择。
- 如果第三方身份提供商提供的是Well-Known接口。您可以选择「输入Well-Known接口」,并将Well-Known接口输入进框内,并点击「解析」,OneID将为您自动解析出Endpoint配置信息。如您发现内容有误,也可以在解析完成后进行必要的修改。
- 如果第三方身份提供商提供的是Issuer URL。您可以选择「解析issuer」,并将Issuer URL输入进框内,并点击「解析」,OneID将为您自动解析出Endpoint配置信息。如您发现内容有误,也可以在解析完成后进行必要的修改。
- 如果第三方身份提供商提供的是详细的Endpoint信息。您可以选择「手动输入」,填写第三方身份提供商提供的Endpoint信息,包括:Issuer、认证端点(Authorization Endpoint)、Token端点(Token Endpoint)、签名公钥端点(JWKS Endpoint)、用户信息端点(Userinfo Endpoint)。
第三步:配置关联规则
以上信息填写完成后,点击「下一步」进入「关联规则」配置页面。关联规则主要包含匹配逻辑和未匹配逻辑,具体配置方式可以参考关联规则。
OneID提供了OIDC用户预置属性字段,具体如下。如果用户使用的字段不在预置字段中,您也可以通过自定义脚本方式进行配置。
- 匹配逻辑预置字段
属性字段名称 | 属性字段标识 | 属性字段类型 |
---|---|---|
用户唯一标识 | user.sub | String |
用户登录名 | user.preferred_username | String |
手机号 | user.phone_number | String |
邮箱 | user.email | String |
- 新建用户预置属性字段
属性字段名称 | 属性字段标识 | 属性字段类型 |
---|---|---|
用户唯一标识 | user.sub | String |
用户名 | user.name | String |
用户登录名 | user.preferred_username | String |
手机号 | user.phone_number | String |
邮箱 | user.email | String |
第四步:OIDC认证源登录测试
- 以上信息配置完成后,点击「保存」按钮。
- 保存完成后,系统会给出配置完成提示,同时会提醒您是否启用OIDC认证源。点击「启用开关」启用OIDC认证源。 提示:您也可以在认证源列表页进行「启动操作」
- 使用无痕模式重新回到OneID登录页面(或者您可以直接点击「退出」回到OneID登录页面)。
- 点击「SSO」按钮,并在SSO域名页输入企业域名。并点击「下一步」。
- 如果您还启用了其他认证源,您将进入OneID登录页面,此时您可显示对应OIDC认证源的登录入口。点击后跳转到第三方身份提供商登录页面上。
注意:如果您仅启用了OIDC认证源,您将直接进入到第三方身份提供商登录页面上。
- 此时使用第三方身份提供商的凭证进行认证登录,登录成功后,会成功进入到OneID系统中。