【问题标题】:Spring Saml Sample + PingFederateSpring Saml 样本 + PingFederate
【发布时间】:2014-08-21 07:31:29
【问题描述】:

我已成功测试 Spring Saml 示例以验证 SSO Circle。我想将 IDP 更改为 Ping 并按照本文中提到的步骤Configuring Spring SAML for SSO with PingFederate

成功登录后,我将返回到 server/saml-sample/saml/discovery/alias/defaultAlias?entityID=entity id 的发现页面

我希望看到从 Ping 发回的信息,例如一般信息、校长的属性、主题确认等。我错过了什么。

感谢您在这方面的任何帮助,因为可用的信息非常少。

更新:共享日志文件

日志太长,无法在此处粘贴。我已经上传到Dropbox了

https://www.dropbox.com/s/fe0y252ypnqa2m7/log.txt

谢谢

【问题讨论】:

  • 您能否按照 Spring SAML 手册中的说明启用日志记录并发布结果?
  • 我已经在dropbox上发布了日志。
  • 从日志看来,Spring SAML 发送了一个 AuthnRequest,但从未收到来自 Ping 的回复。您是否已成功重定向到 Ping 并可以在那里进行身份验证?你能拦截通过浏览器发送的 HTTP 消息(例如使用 Chrome 中包含的工具)并发布结果吗?
  • 是的,我被定向到 ping,我的凭据经过身份验证,我被重定向回应用程序。除非我清除历史记录(单点注销尚未启用),否则它不会要求后续登录尝试的凭据。这是成功登录后http消息(dropbox.com/s/o0i2dmu2jyaojsg/saml-response.txt)的链接

标签: spring saml pingfederate spring-saml


【解决方案1】:

根据您的 HTTP 转储,Ping 发送响应的 URL 似乎是错误的。日志显示 SAML Resposne 被发送到 Request URL:http://server/saml-sample/,而正确的 URL 应该是 Request URL:http://server/saml-sample/saml/SSO

这可以解释为什么在您的日志中没有提及收到的 SAML Resposne 并且使用是直接发送回入口点。

您需要更新您的 Ping 配置以使用您的服务提供商的正确 URL。

【讨论】:

  • 我现在得到一个异常,我已与 Ping 管理员共享此异常 org.springframework.security.authentication.AuthenticationServiceException:验证 SAML 消息时出错 原因:org.opensaml.common.SAMLException:响应没有t 有任何有效的断言可以通过 org.springframework.security.saml.websso.WebSSOProfileConsumerImpl.processAuthenticationResponse(WebSSOProfileConsumerImpl.java:229) ..29 更多的主题验证 原因:org.opensaml.common.SAMLException: Assertion invalidated by subject确认 - 无法通过不记名方式确认 ..30 更多
  • 这可能是由于 Spring SAML 和 Ping 之间缺乏时间同步造成的。日志应包含有关失败原因的其他详细信息,请发布更新后的启用 Spring SAML 调试级别的日志。
  • 我已更新日志 (dropbox.com/s/fe0y252ypnqa2m7/log.txt)。看起来我确实得到了回复。
  • 错误是“Bearer SubjectConfirmation invalidated by recipient assertion consumer URL, found server/saml-sample/saml/SSO”。您将需要再次更改 Ping 端的 AssertionConsumerURL,并确保使用与您的 SP 元数据中完全相同的值(可能是 server/saml-sample/saml/SSO/alias/defaultAlias) - 我应该在前面提到这一点。
  • 我改变了,但它仍然给出同样的错误。 Bearer SubjectConfirmation 被收件人断言消费者 URL 无效,发现 server/saml-sample/saml/SSO/alias/defaultAlias。我将其与 SSO Circle 的响应进行了比较,唯一的区别是添加了端口号,这会有所不同吗? SSO Circel 值server:80/saml-sample/saml/SSO/alias/defaultAlias
猜你喜欢
  • 1970-01-01
  • 2014-06-25
  • 1970-01-01
  • 2015-04-19
  • 1970-01-01
  • 2013-09-24
  • 2017-11-17
  • 2014-11-05
  • 2018-08-25
相关资源
最近更新 更多