Spring SAML从ID提供者返回时在Service提供者上创建新会话

问题描述 投票:0回答:1

我有一个问题,当在Linux VM上运行时,Spring引导应用程序升级到Spring引导2后,无法通过SAML进行身份验证。相同的war文件可在localhost上运行。该应用程序的先前版本也可以在Linux VM上运行。

发生的情况,当我打开调试时,可以看到已设置JSESSIONID cookie并将消息发送到SAML ID提供程序。 SAML提供者发送回成功的身份验证,但是Spring正在不具有该身份的新JSESSIONID中寻找它。

DEBUG o.s.s.s.storage.HttpSessionStorage - Storing message a217ja8287453ja5592818d0e46dija to session 41AAEE32192CF677032712FD544DB7AE

......调试o.s.s.s.storage.HttpSessionStorage-在会话7805C108B108BACE3528EBEE7CA0D7DCCC9B中找不到消息a217ja8287453ja5592818d0e46dija

任何建议将不胜感激!

spring saml
1个回答
0
投票

似乎是应用程序有问题。我建议检查在代码中的哪个位置创建了新会话(7805C108BACE3528EBEE7CA0D7DCCC9B)。您可以添加HttpSessionListener并从sessionCreated方法打印堆栈跟踪。

在成功通过SAML服务器进行身份验证并将其重定向回浏览器之后,请检查浏览器是否使用JSESSIONID发送了正确的cookie。

© www.soinside.com 2019 - 2024. All rights reserved.