情景:
我有两个使用pingfederate单点登录服务完成登录的应用程序。
1.User尝试登录第一个应用程序,但由于用户未经身份验证,用户被重定向到pingfederate的登录页面(通用登录页面)。用户登录第一个应用程序
2.用户尝试登录第二个应用程序,因为用户已通过单一签名服务进行身份验证,pingfederate为应用程序提供必要的信息(设置会话所需的信息),并将用户重定向到第二个应用程序。
问题:
当用户从第一个应用程序注销时,用户将成功注销。此时,pingfederate知道所有打开的应用程序并发送然后注销回调。因此它将退出请求发送到第二个应用程序。第二个应用程序处理注销请求并清除会话。但是用户仍然在同一页面上。用户未被重定向到登录页面
问:
当我们收到注销请求重定向用户到登录页面时,如何实现这一点?
答案 0 :(得分:0)
SLO应该用于SP-Init SLO的方式是:
您在FIRST SP应用程序中单击“注销”。
您将通过LogoutRequest重定向到IdP。
然后,IdP将您连续发送给所有其他SP LogoutRequests。其中每个人都必须提供SAMLResponse 具有状态的IdP。
IdP在收到最终状态后,必须发送 用户/浏览器返回带有SAMLResponse的原始SP 最终状态,由SP采取行动。
在IdP-Init SLO中,它基本上只是第3步。
这是踢球者,但我认为这是你问题的核心。如果这些SP中的一个“行为异常”,即没有响应或支持SLO(没有要求它们支持SLO),那么如果你重定向到它,它将打破注销的“链” ! IdP将重定向到SP,浏览器将保留在那里。一旦链断裂,就无法重新开始。
我在一年多前的博客"SLO - Proceed With Caution"中讨论了这个问题。最终,由于许多大牌SP没有支持SLO,所以没有太多理由去做 - 它只会让你作为SAML管理员,给你一个黑眼圈。或胃灼热。或两者兼而有之。