小编Ogo*_*god的帖子

SAMLException:响应的 InResponseToField 与发送的消息不对应

我们正在开发一个受 spring security saml 保护的应用程序。

身份验证工作正常,但在生产环境中以下工作流程存在一个问题。

  1. 用户请求不受保护的地址 www.server.com
  2. 响应是一个带有内联脚本的 html 页面,该脚本将 window.location.href 更改为受 saml 保护的页面(服务提供商) www.server.com/app/action?param1=value1¶m2=value2
  3. spring saml 检测到需要身份验证并将用户重定向到 www.login-server.com 上的登录表单(身份提供程序)
  4. 此时登录表单是显示给用户的第一页
  5. 用户将此登录页面添加为书签(包括此 http 会话的与 saml 相关的 url 参数) www.login-server.com/adfs/ls/?SAMLRequest=xxx&SigAlg=xxx&Signature=arGdsZwJtHzTDjQP1oYqbjNO
  6. 用户使用应用程序...
  7. 第二天,用户打开此书签并登录
  8. IdP 重定向到 SP,但所属的 http 会话已过期

现在我们在我们的应用程序中得到以下异常:

org.opensaml.common.SAMLException:响应的 InResponseToField 与发送的消息 arGdsZwJtHzTDjQP1oYqbjNO 不对应

任何想法如何处理此工作流程以便用户可以在成功登录后使用该应用程序?感谢您的回答!

security spring spring-security saml spring-saml

10
推荐指数
2
解决办法
2万
查看次数

标签 统计

saml ×1

security ×1

spring ×1

spring-saml ×1

spring-security ×1