SAML SSO 间歇性失败 - 响应的响应字段与发送的消息不对应

  • 本文关键字:响应 消息 字段 失败 SAML SSO saml
  • 更新时间 :
  • 英文 :


在Web应用程序的SSO流期间,我在IDP:的回发中抛出错误

org.opensaml.com.mon.SAMLException:响应的InResponseToField与发送的消息a39276f2g3bf914ekjhg376ghdhd 不对应

我不知道是什么导致了这个问题,因为它间歇性地发生,很难重现。不幸的是,出于安全原因,我无法按此处所述禁用此检查:https://docs.spring.io/spring-security-saml/docs/current/reference/html/chapter-troubleshooting.html

间歇性故障的原因是Chrome在SAML回发到应用程序期间如何处理会话cookie。在我的情况下,我的应用程序被认为是我的IDP的第三方,因此cookie在身份验证后不会被发送回(如果您需要2分钟以上的时间登录(,实际上会丢失登录会话。

供参考:https://www.chromium.org/updates/same-site/.从该页面;注意,对于";Lax+POST";是一种临时干预措施,将在未来某个时候(Chrome 80稳定发布后的某个时间(删除,此时这些流中涉及的cookie将需要SameSite=NoneSecure,即使不到2分钟">

就我而言,我的解决方案是这样的。-在我的saml入口点中,我包括以下内容:

HttpSession session = ((HttpServletRequest)request).getSession();
((HttpServletResponse)response).addHeader("Set-Cookie", "JSESSIONID=" + session.getId() +"; Secure; HttpOnly; SameSite=None; Path=/to/sso/endpoint;");

最新更新