OpenAM 的 Spring Security SAML HTTP Post 错误

Posted

技术标签:

【中文标题】OpenAM 的 Spring Security SAML HTTP Post 错误【英文标题】:Spring Security SAML HTTP Post error with OpenAM 【发布时间】:2013-07-12 19:32:09 【问题描述】:

我对 Vladimir 的 Spring Security 演示有疑问。当我将绑定和断言消费者服务默认更改为 HTTP-POST 时,出现以下错误...

IDPSSOFederate.doSSOFederate: Unable to do sso or federation. com.sun.identity.saml2.common.SAML2Exception: Cannot resolve element with ID xxxx

...由于 XMLSignatureException。

我注意到 OpenAM 试图将我重定向到 http://localhost:8080/SSOPOST/metaAlias/idp,但是在 IdP 元数据中它被指定为 http://localhost:8080/openam/SSOPOST/metaAlias/idp

显然我收到了 404 错误,但我无法弄清楚为什么它会在没有应用程序上下文的情况下将我重定向到 SSOPOST url。

向上滚动日志,我可以看到较早的 getRemoteServiceURL NullPointerException,但从我读到的内容来看,这是正常 OpenAM 日志的一部分?

我的配置使用默认 SOAP 设置对 OpenAM 进行了很好的身份验证。为什么 HTTP-POST 会有所不同?

【问题讨论】:

你能在哪里发布日志和元数据吗?此外,如果您在身份验证中捕获了流量,请将其发布到 嗨@Stefan。以下是要求的文件。 IDP 元数据:apaste.info/kxWp,SP 元数据:apaste.info/ATh6,OpenAM HTTP-POST 错误:apaste.info/hVsL,Spring SAML 示例上下文:apaste.info/yIn3。 好的,但是如果您发现您的问题与错误有关,我想这个谜团已经解决了。 【参考方案1】:

为了让大家知道,我联系了 ForgeRock 并与他们一起解决了这个问题。此问题与以下问题有关:https://bugster.forgerock.org/jira/browse/OPENAM-2644

这实际上是 OpenAM 中的一个错误,它在最新的 Java 更新(版本 1.7.0_25)中暴露出来。临时解决方案(直到 OpenAM 10.2 发布)是恢复到以前的 Java 版本。

恢复到 Java 版本 1.7.0_21 为我解决了这个问题。

【讨论】:

以上是关于OpenAM 的 Spring Security SAML HTTP Post 错误的主要内容,如果未能解决你的问题,请参考以下文章

带有 Spring 会话的 Spring Security SAML

Spring session 与 spring security saml 的集成

Spring 安全 SAML OpenAM

Ajax 登录并以 json 格式获取数据 (OpenAM)

基于OpenAM系列的SSO----基础

没有完全实施 OpenAM 或 OpenSSO 的 OpenAM 或 OpenSSO fedlets 作为 SP 和 ADFS 作为 IdP?