成功身份验证后,弹簧-SAML无尽的重定向循环



成功完成SAML身份验证:

AuthNRequest;SUCCESS;0:0:0:0:0:0:0:1;https://localhost:8443/saml/metadata;http://www.okta.com/exkdwf3hodKFkefLO0h7;;;

浏览器被重定回到无尽的环路中。

我坐在弹簧代码中踏上了一个调试器,看起来它在basicAuthentication filter中错误地调用samlauthentication provider,而samlauthentication provider不支持用户nameamepasswordauthentication token并抛出例外,从而使浏览器将浏览器发送到一个无尽的红色端。

之前有人看过吗?

首先,我尝试将Okta的开发人员指南的解决方案纳入我公司的应用程序:

https://developer.okta.com/blog/2017/03/16/spring-boot-saml

使用Spring-Security-SAML-DSL库。

失败了,不确定为什么是由于Springboot配置或其他原因。过滤器被配置为错过,并将浏览器扔进无尽的重定向循环。

取而代之的是,我带着XML配置回到了Spring-SAML项目,它可以开箱即用。

通过将cookie年龄(到期(设置为与会话年龄相同的5天之后,我已经解决了该问题。似乎具有ID的饼干(对我来说,自从我与Tomcat合作以来就是JSessionId(

对于我在tomcat中的情况,我已经设置了以下内容:

<session-config>
    <session-timeout>60</session-timeout>
    <cookie-config>
        <http-only>true</http-only>
        <secure>true</secure>
        <max-age>3600</max-age>
    </cookie-config>
    <tracking-mode>COOKIE</tracking-mode>
</session-config>

现在会话结束后,cookie也将被删除。使得可以使用新的cookie再次验证。

最新更新