spring saml:LOGOUT 是如何处理的?是不是必须在 IDP 元数据 xml 中有注销端点?

Posted

技术标签:

【中文标题】spring saml:LOGOUT 是如何处理的?是不是必须在 IDP 元数据 xml 中有注销端点?【英文标题】:spring saml: How is LOGOUT handled? Is it mandatory to have logout endpoint in IDP metadata xml?spring saml:LOGOUT 是如何处理的?是否必须在 IDP 元数据 xml 中有注销端点? 【发布时间】:2014-12-08 23:47:51 【问题描述】:

我正在使用 Spring SAML 实现。 SSO 圈元数据 xml 具有注销端点,有助于本地注销和全局注销。但是我正在与之交互的其他一些 IDP,并且在其元数据 xml 中没有注销端点。

在这些情况下应该如何处理LOGOUT?

删除请求的 cookie 是解决此问题的唯一方法,还是有针对这种情况的解决方法?

非常感谢您在这方面的帮助。

【问题讨论】:

在我的情况下 sp 有 acs 和注销(都是 POST),当我点击一个链接(到 sp 注销)时,我得到 404... Sso 我正在做 idp 流(主动 samlresponse 到 sp acs )...但无法弄清楚如何调用 sp logout...在 kentor 中,所有示例注销链接都转到 authservices /logout...。请帮助... 【参考方案1】:

您的 IDP 不一定要有 SingleLogout 端点。您可以通过调用/saml/logout?local=true 执行清除本地cookie 的本地注销。您可以在manual 中找到所有详细信息。

【讨论】:

@vschafer Ya,这一点很清楚。但在我的场景中,我没有发现页面,我直接向用户显示 SSO 登录页面。一旦用户提供他的凭据,IDP 将通过成功响应进行验证,并且应用程序允许用户进入系统。我正在使用本地注销,因为我没有 IDP 的注销端点。用户单击注销按钮后,我会将用户重定向回主页。但是主页有一个登录页面的调用。由于这个原因,用户再次通过 IDP 进行身份验证并且始终处于登录状态。是否有任何解决此问题的解决方法? 创建一个不安全的注销页面()并在注销而不是登录后将用户发送到那里(在successLogoutHandler中)页。或者更改主页,使其不会自动调用 IDP 身份验证,而是让用户先按一些“登录”按钮。 @vschafer 非常感谢您的建议。非常感谢 @VladimírSchäfer 在没有基于xml配置的spring boot中如何实现这个效果? @VladimírSchäfer 在我的应用程序中,我使用了多个元数据,有些定义了单个注销点,有些没有。此过程适用于定义了单个注销端点的元数据配置。但是,如果 IdP 没有在其元数据中定义单个注销端点,则该过程将失败并以错误结束。我该如何处理这个案子?

以上是关于spring saml:LOGOUT 是如何处理的?是不是必须在 IDP 元数据 xml 中有注销端点?的主要内容,如果未能解决你的问题,请参考以下文章

MIDI 文件播放一般是如何处理的?

FRP在内存方面是如何处理的?

分析类加载的链接阶段-准备 属性是如何处理的

Lua 表在内存中是如何处理的?

VB.NET 表单变量是如何处理的

mern 堆栈中的路由是如何处理的?