如何解决通过 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
属性设置为 None
和 Secure
属性。默认情况下,SameSite
属性不是由 Spring 设置的,而是由浏览器默认为 Lax
。这会导致浏览器在使用 SSO 和 SAML 时不会将会话 cookie 发送到服务器。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。