SLO(Single Logout)指由应用发起的全局登录退出。当您经过IDaaS SSO登录应用后,希望退出登录时,可以在应用侧发起全局退出,将IDaaS主登录会话同步终止。IDaaS通过OIDC SLO标准实现这一流程,当前仅限自研应用和OIDC协议应用可用。
SLO是身份联邦的会话管理体系。若您的应用仅希望忽略主会话,每次登录均需您进行认证,可简单地通过授权端点中的prompt参数实现。
调用SLO端点
当发起退出时,您需要在完成了应用侧会话注销后,向IDaaS提供的应用退出端点发起跳转请求。
管理员可以从应用详情 > 登录访问 > 单点登录标签下方的应用配置信息中获取退出端点。
退出端点 URL 格式为 https://{实例域名}.aliyunidaas.com/login/app/{应用ID}/oauth2/logout,说明为"用户注销 IDaaS 主登录态"。
直接跳转到这一端点,即可发起SLO退出请求。由于此时IDaaS无法判断请求来源有效性,所以需要请您确认退出行为。
这一手动退出过程可以跳过,请参考后面的说明。
若当前有IDaaS已登录会话,IDaaS会提示您当前退出登录并确认。
若上一步中您点击确认,或当前本就没有IDaaS登录会话,会提示已退出。
退出后自动回调
若在SLO完成后,您不希望显示IDaaS的已退出界面,而是直接回跳到应用中去,那么可通过配置登出回调地址(即 post_logout_redirect_uris)实现。
请管理员前往应用 > 管理 > 登录访问 > 单点登录配置,找到登出回调地址并填写完整的回调应用地址。
登出回调地址是白名单,可填写最多5个。退出时传入SLO端点的post_logout_redirect_uris需在此白名单范围内,才能完成回调。
登出回调地址位于高级配置展开区域中,需在单点登录配置页面单击隐藏高级配置展开后方可找到并配置。
配置保存后,即可以通过SLO端点中传入post_logout_redirect_uris参数来实现退出后回跳了。
自动退出
若在进行退出时,您希望跳过手动确认的步骤,直接完成退出和回跳,以实现最佳的体验,那么在上述登出回调地址配置的基础上,您还需要在SLO端点传入额外参数:id_token_hint。
SLO退出端点支持的参数如下:
|
参数 |
必填 |
描述 |
|
id_token_hint |
否 |
希望实现自动退出时必填,用于验证退出请求合理性。 直接传入SSO时由IDaaS签发的、与最近会话对应(会话ID一致)的 说明
若 此限制属于OIDC规范中为了防止被恶意登出的安全设计。 |
|
post_logout_redirect_uris |
否 |
当希望实现退出后自动回调时必填。 传入希望SLO退出后的HTTPS回调地址,该地址需在IDaaS应用管理中提前进行配置。 |
|
state |
否 |
随机字符串,传递给IDaaS后,若配置了自动回调,则作为回调参数返回给应用。 用于安全验证。 |
SLO端点请求示例如下:
GET https://example.aliyunidaas.com/login/app/<application_id>/oauth2/logout
?id_token_hint=${id_token}
&post_logout_redirect_uri=${post_logout_redirect_uri}
&state=${state}
SLO参考流程图

IDaaS当前SLO功能存在以下限制:
-
只实现OIDC的SLO,暂未支持SAML SLO。
-
只实现SP-init SLO,OIDC SLO的其他模式暂未支持。
-
只实现IDaaS主登录态的注销,其他已登录应用不受影响(即未实现Global SLO)。