我正在寻找一种方法来增加我的saml消息的到期时间。我将Spring Security与SAML 1.0.0-RC2一起使用。
此时,如果服务器**时间太不相同,例如5分钟,我收到了以下错误:
HTTP Status 401 - Authentication Failed:Error validating SAML message: SAML response is not valid; nested exception is org.opensaml.common.SAMLException: SAML response is not valid
我想将到期时间设置为10分钟,以防止出现这些错误。我一直在查看文档,但我不了解如何更改到期时间。如果我查看Configuration authentication object部分,可以更改到期时间,但我无法理解这个想法。
有人可以帮帮我吗?
**我的服务器(SP)和客户服务器(IDP,很可能是安装了ADFS的服务器)。
答案 0 :(得分:9)
在Stefan的anwser之后,我知道在哪里看!实际上文档确实描述了这个东西,我只是没有拿起它:10.3 Validity intervals。欢呼Stefan指出responseSkew属性!
只需将属性responseSkew添加到WebSSOProfileConsumerImpl和SingleLogoutProfileImpl bean:
<bean id="webSSOprofileConsumer" class="org.springframework.security.saml.websso.WebSSOProfileConsumerImpl">
<property name="responseSkew" value="600"/> <!-- 10 minutes -->
</bean>
<bean id="logoutprofile" class="org.springframework.security.saml.websso.SingleLogoutProfileImpl">
<property name="responseSkew" value="600"/> <!-- 10 minutes -->
</bean>
答案 1 :(得分:4)
答案 2 :(得分:0)
我知道,已经选择了答案,但我正在为使用Grails 3,Spring安全核心,SAML 2.0的任何人找到解决方案。
我必须为WebSSOProfileConsumerImpl设置maxAssertionTime
值和responseSkew
,以便能够从IDP获取响应。