我目前正在开发一个使用AngularJS,Spring MVC,Spring Security和SAML 2.0 Extension的应用程序。我是Spring Security SAML的新手,我遇到了多个问题,这是最新的问题。
响应的InResponseToField与发送的消息不对应a1f4a0e24c8a49a99f1h9df73e95c2
我的所有saml配置文件都可以在这里找到 https://github.com/MatthewLangford/samlConfig/tree/master
我已经按照这里的saml示例实现了 https://github.com/vdenotaris/spring-boot-security-saml-sample
我一直关注AngularJS和Spring Security博客 jasha.eu/blogposts/2015/10/saml-authentication-angularjs-spring-security.html
我在互联网上搜索了解决这个问题的方法,这似乎是一个常见的问题,而且根据Spring安全性saml文档,可以通过将storageFactory属性设置为SAMLContextProviderImpl来解决此问题
@Bean
public SAMLContextProviderImpl contextProvider() {
SAMLContextProviderImpl samlContextProviderImpl = new SAMLContextProviderImpl();
samlContextProviderImpl.setStorageFactory(emptyStorageFactory());
return samlContextProviderImpl;
}
@Bean
public EmptyStorageFactory emptyStorageFactory() {
return new EmptyStorageFactory();
}
但我仍然得到同样的错误。
我正在使用Spring Boot 1.5.4.RELEASE,Spring Security 4.2.3.RELEASE,spring-security-saml2-core:1.0.2.RELEASE,AngularJS 1.5.8
我将sp和idp元数据本地加载到spring saml config,但是idp是远程实体,sp是本地实体。 它是一个基于angularjs的Web应用程序和应用程序流应该是我点击了带有登录链接的不安全页面的URL,在我点击登录链接后我向sso控制器发送请求进行逻辑检查我是否是经过身份验证的用户,如果不是,我应该被重定向到sso进行身份验证。
请提供宝贵的意见,以帮助我解决此问题。 提前谢谢。