功能说明#
单点登出用于结束用户在数犀集成平台和目标应用中的相关会话。不同协议、不同目标应用对“退出”的实现并不相同,因此必须分别验证:Access Token、Refresh Token 或票据是否仍可使用。
当前 SAML 应用配置表单没有展示 SAML SLO 参数,OAuth 2.0 配置表单也没有展示统一登出入口。平台级会话策略和密码修改后的单点登出开关存在,但不能由此推断 OIDC 前端通道登出、OIDC 后端通道登出、SAML SLO、所有应用自动级联退出或 Token 自动撤销已经实现。开始前先定义退出范围#
如果没有定义预期范围,同一个“退出成功”提示可能掩盖仍然有效的第三方会话或 Token。平台级会话策略#
SSO 会话有效期:可选择自定义分钟,或关闭浏览器后立即失效。
这两个字段用于平台级登录策略。修改前应记录原值,使用隔离测试账号验证:3.
Access Token、Refresh Token 或协议票据是否仍可使用。
页面字段只能证明策略入口存在。没有实际运行结果时,不应写成所有应用、所有协议和所有 Token 的统一强制退出能力。平台级 SSO 会话有效期和密码修改后单点登出策略
OIDC 应用#
OIDC 配置页提供退出回调地址。填写当前目标应用实际允许的 HTTP 或 HTTPS 地址,并确保地址与目标应用登记的配置一致。已支持 frontchannel_logout_uri。
已支持 backchannel_logout_uri。
已签发的 Access Token 或 Refresh Token 会立即失效。
这些行为只有在目标租户、目标应用和当前协议流程完成运行验证后才能写入交付说明。OIDC 应用配置中的退出回调地址;租户地址已脱敏
CAS 应用#
CAS 配置页为每个应用生成只读 Logout URL。目标应用应使用 当前应用页面显示的地址,不要复用其他应用或其他租户的 URL。原 Service Ticket 是否不能再次使用。
CAS Logout URL 不能代替目标应用自身的本地会话清理。CAS 应用提供只读 Login、Logout 和票据校验地址;租户地址已脱敏
SAML 与 OAuth 2.0 边界#
当前 SAML 应用表单包含 SSO、Recipient、Destination、Audience、NameID、签名和属性配置,但没有展示 SLO URL、SingleLogoutService 或 LogoutRequest 配置。当前 OAuth 2.0 应用表单包含授权类型、重定向 URI、应用信息和 Token 设置,但没有展示统一登出配置。不应在通用文档中承诺 SAML SLO 已可配置。
不应把 OAuth 2.0 Token 撤销等同于浏览器会话退出。
不应把平台退出等同于 Google、Microsoft 或其他第三方身份提供方会话退出。
如果某个应用有定制登出能力,应形成该应用的独立验证记录。
按协议执行验收#
1
准备隔离测试账号
使用不会影响生产业务的测试账号,并记录平台、目标应用和身份提供方的初始登录状态。
2
完成一次正常登录
从实际入口进入目标应用,确认当前浏览器已建立平台会话和目标应用会话。
3
执行指定退出动作
从业务约定的入口退出,例如平台退出、目标应用退出、OIDC 退出回调或 CAS Logout URL。
4
分别检查会话
重新访问平台和目标应用,检查是否需要重新认证,并记录仍然有效的 Cookie 或会话边界。
5
检查 Token 或票据
如协议产生 Access Token、Refresh Token 或票据,使用最小范围请求验证它们在退出后的真实状态。
6
验证异常路径
验证回调地址错误、目标应用不可用、重复退出和直接关闭浏览器等场景。
7
形成支持矩阵
按协议和目标应用记录平台会话、应用会话、Token 或票据的清理结果,不用一个结论覆盖全部应用。
建议的验收记录#
| 协议或应用 | 退出入口 | 平台会话 | 应用会话 | Token/票据 | 再次访问结果 |
|---|
| 平台会话策略 | 会话到期或密码修改 | 待验证 | 待验证 | 待验证 | 待验证 |
| OIDC 应用 | 实际测试入口 | 待验证 | 待验证 | 待验证 | 待验证 |
| CAS 应用 | 当前应用 Logout URL | 待验证 | 待验证 | 待验证 | 待验证 |
| SAML 应用 | 应用实际入口 | 待验 证 | 待验证 | 不适用或待确认 | 待验证 |
| OAuth 2.0 应用 | 应用实际入口 | 待验证 | 待验证 | 待验证 | 待验证 |
将表中的结果替换为目标环境的真实验收结论后,才能作为上线依据。安全要求#
截图和日志不得暴露 Token、Cookie、Ticket、Secret、真实用户邮箱或租户域名。
浏览器显示跳转成功不代表后端 Token 已经失效。
验证清单#
已记录 SSO 会话有效期和密码修改后单点登出开关的原值。
CAS 使用当前应用生成的 Logout URL。
SAML 和 OAuth 2.0 未被描述为默认支持统一登出。
文档结论按协议、应用和目标环境记录,没有扩大为全局能力。
常见问题#
不能统一承诺。目标应用可能保留本地会话,必须按协议和应用分别验证。
不能仅凭页面开关确认。应使用隔离测试账号修改密码,并分别验证平台会话、应用会话、Access Token、Refresh Token 和协议票据。
不能。当前表单只证明存在退出回调字段, 前端通道、后端通道和级联行为需要运行态证据。
当前应用表单没有展示 SLO 参数。若目标租户存在定制能力,应按该租户实际页面和运行结果单独说明。
不代表。浏览器会话和 Token 生命周期是不同层次,必须分别检查。