java - 单点注销配置文件

标签 java logout saml saml-2.0

我正在从 SP 发起的 SLO 向 IdP 发送 LogoutRequest。 Ping 用作身份提供者,在 Ping 上,我收到错误消息“需要签名”,而 LogoutRequest 中有签名。所以我在一些研究中发现,如果使用Redirect绑定(bind),Signature应该作为查询参数发送。如何将 LogoutRequest 的绑定(bind)协议(protocol)更改为 Http-POST

http://idpendppointURL.com/idp/SLO.saml2?SAMLRequest="...."&RelayState="...."

REDIRECT 绑定(bind)的 URL 长度变得非常长时,如何添加签名作为查询参数?

编辑于 2014 年 5 月 12 日晚上 9:54(美国中部标准时间)

我想出了如何将签名添加为 Oasis 规范中的查询参数 SAML SLO specification ,但现在我从 Ping 收到错误“无效签名”。

最佳答案

您可以在 SAML 2.0 bindings 中找到有关如何使用不同绑定(bind)发送消息的所有详细信息。 SAML 2.0 标准的一部分。

有关如何将签名附加到使用 HTTP 重定向绑定(bind)发送的消息的详细信息,请参阅 chapter 3.4 .

支持的重定向 URL 长度是不可预测的,HTTP 重定向只能用于相对较小的消息。当您需要容纳更多数据时,您必须切换到其他绑定(bind),例如 HTTP-POST。

为了实现 HTTP-POST 绑定(bind),您需要通过遵循标准 ( chapter 3.5 ) 中再次定义的规则来更改应用程序发送消息的方式。

您还可以考虑使用 SAML 库之一,它可以简化实现 SAML 2.0 功能的任务,并包含对所有绑定(bind)的支持,例如 OpenSAML , Spring SAML ,或者Ping提供的工具。

您收到的“无效签名”错误的意思就是它所说的 - 签名构建不正确。如果您想从头开始编写签名创建,请确保完全按照标准中定义的说明进行操作,任何小错误都会使您的实现无效。

关于java - 单点注销配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23616117/

相关文章:

java - Spring安全注销调用

c# - SecurityTokenInvalidAudienceException : IDX10214: Audience validation failed

java - 使用 Spark Java(网络服务器)时从内存中删除敏感数据

java - 如何从cxf outInterceptor获取响应主体

Android Dropbox SDK 注销功能错误

php - 使用 cookie 时注销

authentication - saml IDP/SP 如何与 auth0 配合使用?

通过 OKTA SAML 单点注销

java - 在以下情况下是否需要调用 ThreadLocal.remove

java - Spring 和 Spring MVC——它们是两个不同的框架吗?