HttpSessionStorage - 在 SESSION 中找不到消息
HttpSessionStorage - Message not found in SESSION
我能够使用 Spring 安全 SAML 将 单点登录 集成到我的网络应用程序中。但是我在添加此依赖项时遇到问题 org.springframework.session
.
首先它将数据存储到会话中,然后重定向到 IDP。
DEBUG o.s.s.s.storage.HttpSessionStorage - Storing message a4850861j4f289ha850h8gh92hj85d to session c5a13884-37d5-4e3d-b5ec-44ac6013de7a
认证成功后,由于id改变,无法从SESSION中找到存储的数据。
DEBUG o.s.s.s.storage.HttpSessionStorage - Message a4850861j4f289ha850h8gh92hj85d not found in session 6c84d9a8-2c78-4e3b-8726-4f8129e9a543
DEBUG o.s.s.s.SAMLAuthenticationProvider - Error validating SAML message
org.opensaml.common.SAMLException: InResponseToField of the Response doesn't correspond to sent message a4850861j4f289ha850h8gh92hj85d
会话名称 "mujinaSpSessionId"
的创建在添加依赖项时被覆盖。
@Bean
public ServletContextInitializer servletContextInitializer() {
//otherwise the two localhost instances override each other session
return servletContext -> {
SessionCookieConfig sessionCookieConfig = servletContext.getSessionCookieConfig();
sessionCookieConfig.setName("mujinaSpSessionId");
sessionCookieConfig.setSecure(this.secureCookie);
sessionCookieConfig.setHttpOnly(true);
};
}
作为参考,我遵循了 Mujina 的实现,这里是代码 WebSecurityConfigurer.java.
的 link
任何答案都会有所帮助,谢谢!
所以在搜索了一些答案之后,我找到了这个问题的答案
Spring SAML sending wrong AuthNRequest
主要问题来自 SAMLContextProviderLB
它与 Spring 会话冲突。
这行代码对我有用。
samlContextProviderLB.setStorageFactory(new EmptyStorageFactory());
我能够使用 Spring 安全 SAML 将 单点登录 集成到我的网络应用程序中。但是我在添加此依赖项时遇到问题 org.springframework.session
.
首先它将数据存储到会话中,然后重定向到 IDP。
DEBUG o.s.s.s.storage.HttpSessionStorage - Storing message a4850861j4f289ha850h8gh92hj85d to session c5a13884-37d5-4e3d-b5ec-44ac6013de7a
认证成功后,由于id改变,无法从SESSION中找到存储的数据。
DEBUG o.s.s.s.storage.HttpSessionStorage - Message a4850861j4f289ha850h8gh92hj85d not found in session 6c84d9a8-2c78-4e3b-8726-4f8129e9a543
DEBUG o.s.s.s.SAMLAuthenticationProvider - Error validating SAML message
org.opensaml.common.SAMLException: InResponseToField of the Response doesn't correspond to sent message a4850861j4f289ha850h8gh92hj85d
会话名称 "mujinaSpSessionId"
的创建在添加依赖项时被覆盖。
@Bean
public ServletContextInitializer servletContextInitializer() {
//otherwise the two localhost instances override each other session
return servletContext -> {
SessionCookieConfig sessionCookieConfig = servletContext.getSessionCookieConfig();
sessionCookieConfig.setName("mujinaSpSessionId");
sessionCookieConfig.setSecure(this.secureCookie);
sessionCookieConfig.setHttpOnly(true);
};
}
作为参考,我遵循了 Mujina 的实现,这里是代码 WebSecurityConfigurer.java.
的 link任何答案都会有所帮助,谢谢!
所以在搜索了一些答案之后,我找到了这个问题的答案 Spring SAML sending wrong AuthNRequest
主要问题来自 SAMLContextProviderLB
它与 Spring 会话冲突。
这行代码对我有用。
samlContextProviderLB.setStorageFactory(new EmptyStorageFactory());