通过 Okta 进行身份验证后,会话 cookie 不会发送到 Spring Boot 应用

问题描述

用户浏览我的 Spring Boot 应用时,他们被重定向到通过 Okta 登录登录后,他们被重定向页面而不是他们请求的原始页面

我相信发生这种情况的原因是会话 cookie 没有发送到服务器,导致服务器无法找到其先前保存的请求。会话 cookie 的 SameSite 属性认为 Lax,并且由于从 Okta 调用到我的 Spring Boot 应用程序的 SSO URL 是 POST 方法,因此不会发送会话 cookie。要解决此问题,我需要配置 Spring 以将会话 cookie 的 SameSite 属性设置为 None,并且我的 Spring Boot 应用程序必须是 https。这听起来对吗?是否有替代解决方案?

解决方法

会话 cookie 必须将 SameSite 属性设置为 NoneSecure 属性。默认情况下,SameSite 属性不是由 Spring 设置的,而是由浏览器默认为 Lax。这会导致浏览器在使用 SSO 和 SAML 时不会将会话 cookie 发送到服务器。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...