Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 当从第一个应用程序触发注销时,从第二个应用程序自动注销_Ruby On Rails_Logout_Long Polling_Pingfederate - Fatal编程技术网

Ruby on rails 当从第一个应用程序触发注销时,从第二个应用程序自动注销

Ruby on rails 当从第一个应用程序触发注销时,从第二个应用程序自动注销,ruby-on-rails,logout,long-polling,pingfederate,Ruby On Rails,Logout,Long Polling,Pingfederate,情景: 我有两个应用程序,使用pingfederate单点登录服务登录。 1.用户尝试登录到第一个应用程序,但由于用户未经身份验证,用户被重定向到pingfederate通用登录页面的登录页面。用户登录到第一个应用程序。 2.用户尝试登录到第二个应用程序,因为用户已通过单点登录服务验证。pingfederate向应用程序提供设置会话所需的必要信息,并且用户被重定向到第二个应用程序 问题: 当用户从第一个应用程序注销时,用户将成功注销。此时,pingfederate知道所有打开的应用程序,并发送然

情景: 我有两个应用程序,使用pingfederate单点登录服务登录。 1.用户尝试登录到第一个应用程序,但由于用户未经身份验证,用户被重定向到pingfederate通用登录页面的登录页面。用户登录到第一个应用程序。 2.用户尝试登录到第二个应用程序,因为用户已通过单点登录服务验证。pingfederate向应用程序提供设置会话所需的必要信息,并且用户被重定向到第二个应用程序

问题: 当用户从第一个应用程序注销时,用户将成功注销。此时,pingfederate知道所有打开的应用程序,并发送然后注销回调。所以它向第二个应用程序发送注销请求。第二个应用程序处理注销请求并清除会话。但用户仍停留在同一页面上。用户未重定向到登录页面 问题:
当我们收到注销请求时,如何实现将用户重定向到登录页面?

SP Init SLO的工作方式是:

在第一个SP应用程序中单击注销

您将通过LogoutRequest重定向到IdP

然后,IdP以串行方式将您发送到所有其他SP LogoutRequests。每个人都必须提供相同的回复 向具有身份的IdP发送

IdP在收到最终状态后,必须发送 用户/浏览器返回到原始SP,并与 SP作用于的最终状态

在IDPInitSLO中,它基本上只是第3步

这是踢球的人,我想这是你问题的核心。如果这些SP中有一个行为不当,即不响应或不支持SLO,则不要求他们支持SLO,如果您重定向到它,那么它将中断注销链!IdP将重定向到SP,浏览器将停留在那里。一旦链条断了,就没有办法再启动了


一年多前,我在博客上讨论了这个问题。最终,由于许多知名SP都不支持SLO,所以没有什么理由这么做——这只会让作为SAML管理员的您大失所望。或者胃灼热。或者两者都有。

我得到了这个工作流。同样的事情正在这里发生。我的问题不是关于触发注销的第一个应用程序。我说的是第二次申请。我看到第二个应用服务器日志,它收到了来自ping联邦成员的注销请求。它清除会话,然后使用给定的Resume参数重定向到ping federate SP,但此重定向不会显示在浏览器上。对于用户来说,看起来他仍然在同一页上。这将取决于SP应用程序-那里的日志中是否有任何内容?