【发布时间】:2020-04-23 00:40:57
【问题描述】:
我们将 SAML 2.0 与托管在 Windows Server 2016 上的 ADFS 一起使用。SSO 正在运行。用户可以成功登录 ADFS 身份提供程序并重定向到依赖方,解密 SAML 令牌,读取断言,用户成功登录。到目前为止,一切顺利。
使用 ADFS 和 SAML 2.0 的 SLO 不是很清楚。 OASIS 规范 (https://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf) 包括以下有关创建 SAML 2.0 LogoutRequest 的指南。在第 33 页,发出 LogoutRequest 的过程描述如下:
- 会话参与者向身份提供者发出的注销请求 在步骤 1 中,会话参与者发起单次注销并通过以下方式终止主体的会话 向身份提供者发送 LogoutRequest 消息,从该身份提供者处接收 相应的身份验证断言。请求可以直接发送给身份提供者 或通过用户代理间接发送。
如何将此步骤应用于 ADFS?具体来说:
应该将 LogoutRequest 发送到 ADFS 上的哪个端点? 如果是 POST 请求,是否应该在正文中提交 XML?如果不是,应该如何打包?
我们在网上找到的大多数讨论 ADFS 上的 SLO 的文档都使用 WS-Federation 而不是 SAML 2.0。
【问题讨论】: