我正在使用spring-security-saml2 api来建立连接。
它运作良好一段时间,但最近我遇到了一些问题,在响应标题中有一个日期。
调用过滤器org.springframework.security.saml.SAMLProcessingFilter
时(网址 - > /saml/SSO/alias/defaultAlias
),响应中包含标题date
,此日期有时延迟2小时。
因此我收到错误Etat HTTP 401 - Authentication Failed : Response issue time is either too old or with date in the future, skew 60, time 2014-10-22T08:25:55.967Z
(在10h25测试)
我不知道如何检索日期以及为什么这种行为只会定期发生。 我正在寻找任何线索。感谢。
答案 0 :(得分:5)
你在哪个时区? 2014-10-22T08:25:55.967Z 是UTC格式,因此您当地时间之间的2小时差异可以通过GMT + 2(例如法国夏令时)来解释。
我的猜测是你的IDP和SP之间的时钟没有正确同步,有时创建Response对象之间的时差( 2014-10-22T08:25:55.967Z )和SP机器上的时间超过60秒。
尝试更改您的WebSSOProfileConsumerImpl
bean并按如下方式声明,它可能会解决您的问题:
<bean id="webSSOprofileConsumer" class="org.springframework.security.saml.websso.WebSSOProfileConsumerImpl">
<property name="responseSkew" value="180"/>
</bean>