OIDC SSO配置

当前文档以OIDC标准协议为例进行单点登录配置说明。

说明

如您希望了解IDaaS中支持的SSO协议,请前往:2. 标准协议

IDaaSOIDC不同模式的支持

您可在如下模式中多选:

模式

支持说明

客户端模式

client_credentials

IDaaS使用OIDC客户端模式,允许应用的client_id, client_secret来到 IDaaS换取服务端令牌,调用IDaaS应用开放的Developer API。​

客户端模式无需勾选,若应用API开放启用,则模式开启。

授权码模式

authorization_code

IDaaSOIDC应用最普适的登录模式。应用将登录委托给IDaaS,并解析 IDaaS返回的id_token,完成登录校验。

令牌刷新模式

refresh_token

支持使用refresh_tokenaccess_token进行刷新的模式,以延长会话有效时间。通常与授权码模式一起使用。

设备模式

device

设备模式常用于非B/S架构的应用接入。当设备不便于直接展示IDaaS登录页时,允许用户使用浏览器辅助完成登录流程。

常规的B/S网页端企业应用,我们建议您勾选授权码及令牌刷新模式。

B/S应用,建议勾选设备及令牌刷新模式。

说明

OIDC其他模式IDaaS暂不支持,如有需求,您可以提交需求给我们,我们会根据紧急性和重要性排期进行接入。

IDaaS侧配置

字段

说明

举例

基本配置(必填)

授权模式

为应用选择要使用的模式。

多选:授权码模式

多选:令牌刷新模式

登录

Redirect URIs

Redirect URI白名单。应用在请求登录时会携带redirect_uri参数,该值需要在白名单中,IDaaS才会在认证完成后发起跳转。

http://www.xxxx/oidc/sso

http://www.xxxx/oidc/sso2

授权范围

请参考:单点登录通用说明

选择:全员可访问

高级配置(选填)

用户信息范围

scopes

用户登录后,使用用户信息端点可以获取到的已登录用户信息。

  • openid

  • email

  • phone

  • profile

多选: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_tokenid_tokenrefresh_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