当前文档以 OIDC 标准协议为例进行单点登录配置说明。
如您希望了解 IDaaS 中支持的 SSO 协议,请前往:2. 标准协议。
IDaaS 对 OIDC 不同模式的支持
您可在如下模式中多选:
模式 | 支持说明 |
客户端模式 client_credentials | IDaaS 使用 OIDC 客户端模式,允许应用的 client_id, client_secret 来到 IDaaS 换取服务端令牌,调用 IDaaS 应用开放的 Developer API。 客户端模式无需勾选,若应用【API 开放 - API 开放】启用,则模式开启。 |
授权码模式 authorization_code | IDaaS 中 OIDC 应用最普适的登录模式。应用将登录委托给 IDaaS,并解析 IDaaS 返回的 id_token,完成登录校验。 |
令牌刷新模式 refresh_token | 支持使用 refresh_token 对 access_token 进行刷新的模式,以延长会话有效时间。通常与授权码模式一起使用。 |
设备模式 device | 设备模式常用于非 B/S 架构的应用接入。当设备不便于直接展示 IDaaS 登录页时,允许用户使用浏览器辅助完成登录流程。 |
常规的 B/S 网页端企业应用,我们建议您勾选 授权码
+ 令牌刷新
模式。
非 B/S 应用,建议勾选 设备
+ 令牌刷新
模式。
提示:OIDC 其他模式 IDaaS 暂不支持,如有需求,您可以 提交需求 给我们,我们会根据紧急性和重要性排期进行接入。
IDaaS 侧配置
| 字段 | 说明 | 举例 |
基本配置(必填) | 授权模式 | 为应用选择要使用的模式。 | 多选:授权码模式 多选:令牌刷新模式 |
登录 Redirect URIs | Redirect URI 白名单。应用在请求登录时会携带 redirect_uri 参数,该值需要在白名单中,IDaaS 才会在认证完成后发起跳转。 | http://www.example.com/oidc/sso http://www.example.com/oidc/sso2 | |
授权范围 | 请参考:单点登录通用说明。 | 选择:全员可访问 | |
高级配置(选填) | 用户信息范围 scopes | 用户登录后,使用用户信息端点可以获取到的已登录用户信息。
| 多选:openid 多选:email 多选:profile |
PKCE | 【授权模式】中勾选【授权码模式】时可选。启用后,授权码模式会使用更安全的 PKCE 扩展流程。 | 默认不勾选 | |
Code Challenge 生成方式 | 开启【PKCE】后可选。PKCE 扩展中 Code Challenge 的生成方式。若未勾选开启 PKCE,则不会显示。 | - | |
access_token 有效期 | access_token 用于请求 IDaaS 接口。默认 2 小时有效。过期后需要使用 refresh_token 刷新,或重新登录。 | 2 小时 | |
id_token 有效期 | id_token 用于鉴别用户身份,JWT 格式,允许应用使用公钥自行验证用户身份。过期后需要使用 refresh_token 刷新,或重新登录。 | 10 小时 | |
refresh_token 有效期 | 用于获取新的 access_token 和 id_token。refresh_token 过期后,用户需要重新登录。 | 30 天 | |
扩展 id_token 字段 | 可以通过扩展 id_token 中的 payload 字段,将用户的非敏感基本信息返回,以免需要反复调用用户信息端点。参考 OIDC id_token 扩展值填写规范。 注意:payload 中添加的字段公开可见,请按需使用。 | - | |
id_token 签名算法 | id_token 签名使用的非对称算法,当前仅支持 RSA-SHA256 算法。 | RSA-SHA256 | |
SSO 发起方 | 用户访问由应用发起,还是支持门户发起 | 只允许应用发起 | |
登录发起地址 | 若【SSO 发起方】设置为【支持门户和应用发起】,可填写登录发起地址,即 IDaaS 发起 SSO 请求访问的应用地址。该地址接收到请求,应即刻转向 IDaaS / authorize 授权端口。 | - |
应用侧配置
OIDC 协议允许应用侧通过一系列 IDaaS 开放的标准接口,完成登录认证整套流程。
开放的接口说明如下:
字段名 | 说明 | 示例 |
Issuer | id_token 中标记令牌来源的字段。同时是下述接口的 baseUrl。 | https://xxxxx.aliyunidaas.com.cn/oidc1 |
发现端点 Discovery | 用于获取当前 IDaaS 支持的各端点信息和支持的模式、参数信息,可公开访问。 | https://xxxxx.aliyunidaas.com.cn/oidc1/.well-known/openid-configuration |
授权端点 Authorization | 应用发起单点登录的地址。 | https://xxxxx.aliyunidaas.com.cn/oidc/authorize |
令牌端点 Token | 应用在单点登录过程中,拿到授权码 code 后,从后端发去换取 token 的接口地址。 | https://xxxxx.aliyunidaas.com.cn/oidc/token |
验签公钥端点 JWKS | 用于验证 id_token、完成 SSO 流程的公钥端点。公钥暂不支持轮转。 | https://xxxxx.aliyunidaas.com.cn/oidc1/jwks |
用户信息端点 Userinfo | 登录后,使用 access_token 获取用户基本信息的端点。 | https://xxxxx.aliyunidaas.com.cn/oidc1/userinfo |
退出端点 SLO | 用户注销 IDaaS 主登录态。 | https://xxxxx.aliyunidaas.com.cn/oidc1/logout |