JSESSIONID 没有在我们的 Spring Boot 应用程序中设置“安全”标志。该应用程序启用了 SSO,并使用 OKTA 作为我们的 IDP,并且我们使用 Spring Security-SAML
下面是应用程序的简单流程。
浏览器 -> HTTPS -> AWS-ALB -> HTTP -> Spring Boot APP -> OKTA URL (HTTPS)。
这里 SSL 终止发生在 ALB,从 Spring 引导应用程序的角度来看,应用程序在 HTTP 上。
问题是我们的安全工具分析报告抱怨 JSESSIONID 没有启用“安全”标志。当我尝试如下启用安全 cookie 时,初始请求的 JSESSIONID 为“安全”,并且在身份验证后“安全”标志被删除。
server.session.cookie.secure: true
尽管此SO 线程提供了一种添加“安全”标志的方法,但我无法将其与 ALB 端场景的 SSL 终止和 SAML 断言流(对 OKTA 的应用程序调用)通过 HTTP 到 HTTPS 发生关联。
任何想法如何设置/保留 JessionID 安全标志?