现像
有一应用需要接入sso,sso采用saml协议,在本地测试时,没有一点问题(应用用的是opensaml1-1.1.jar),能正常断言、登录,部署到测试环境就报以下错误:
org.opensaml.ExpiredAssertionException: unable to accept assertion because of clock skew
at org.opensaml.provider.BrowserProfileProvider.receive(Unknown Source)
原因
应用所在服务器时间和sso应用所在服务器时间差大于默认的3分钟
解决方法
1、调整服务器时间,使两个应用所在服务器时间一致
2、修改opensaml1-1.1.jar 中conf/opensaml.properties中的org.opensaml.clock-skew
建议采用第一种方式
总结
相同应用部署到不同环境时,时间问题不容忽略