SAML 2 和 ADFS 3.0 IDP - SSO 无效状态代码首次登录 - 但之后每次都成功
Posted
技术标签:
【中文标题】SAML 2 和 ADFS 3.0 IDP - SSO 无效状态代码首次登录 - 但之后每次都成功【英文标题】:SAML 2 and ADFS 3.0 IDP - SSO Invalid Status Code First time Login - But succeeds every time after 【发布时间】:2015-07-08 22:00:07 【问题描述】:我们遇到了一个
响应的状态码无效 urn:oasis:names:tc:SAML:2.0:status:Responder
SAMLException 试图运行 Spring SAML 示例应用程序。 IDP 是 ADFS 3.0 服务器,SP 使用自签名 URL。以下是 SP/App 的 URL
https://ec2-52-0-198-40.compute-1.amazonaws.com:8443/spring-security-saml2-sample/
奇怪的是,在 IDP 成功进行身份验证后会发生这种情况 - 仅是第一次。如果我第二次尝试该 URL,它会记住成功登录并正确重定向到应用程序/SP。之后每次尝试登录都是成功的。全局注销和本地注销也可以。
但是,如果我清除浏览器中的所有 cookie 和历史记录并尝试再次登录,则第一次出现“无效状态”问题。并且所有后续登录都成功。
@vladimír-schäfer:知道为什么会出现这个问题吗?非常感谢。
【问题讨论】:
嘿@Ravikumar Raman,我有同样的问题,你是怎么解决你的问题的? ***.com/questions/49559023/… 【参考方案1】:一个值得尝试的方法是确保站点提供的 HTTPS 证书是可信的。我见过浏览器用来确认无效证书的页面会破坏 SAML SSO 期间发送的数据的情况 - 这可能会导致您遇到问题。
【讨论】:
感谢弗拉基米尔的快速回复。我们将安装可信证书并通知您。 嗨弗拉基米尔,我们安装了一个新的证书,新的 url 是dev.idiom.digitaslbi.com:8443/spring-security-saml2-sample。我们不再得到无效的证书构造。但是第一次“invalid status code urn:oasis:names:tc:SAML:2.0:status:Responder”依然存在。 ADFS(IDP) 在日志中没有 en 错误。您还希望我们尝试其他路径吗?? 跟进:失败时的 SAML 响应(第一次登录)有一个当 ADFS 需要 SHA-256 数字签名但 Spring Security 仍使用 SHA-1 作为其默认值时,我已经看到了这一点。见Issues while integrating ADFS with Spring SAML Extension
【讨论】:
以上是关于SAML 2 和 ADFS 3.0 IDP - SSO 无效状态代码首次登录 - 但之后每次都成功的主要内容,如果未能解决你的问题,请参考以下文章
Spring Security SAML Extension 将 ADFS 3.0 与其他声明提供程序集成