JSESSIONID安全标志-Spring引导和Spring Security(SAML)

时间:2019-01-31 18:16:07

标签: spring-boot spring-security single-sign-on jsessionid aws-alb

JSESSIONID在我们的Spring Boot应用程序中未设置“安全”标志。该应用程序已启用,以OKTA作为IDP启用了SSO,我们使用了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 thread提供了一种方法来添加“安全”的标志,我无法在ALB侧场景和SAML声明流(应用调用1563)发生由HTTP到HTTPS SSL终止涉及这一点。

是否知道如何在JessionID安全标志上设置/保留?

1 个答案:

答案 0 :(得分:0)

在春季启动配置中添加server.tomcat.protocol-header=x-forwarded-proto即可解决问题。

我误解了Cookie标志(安全,仅HTTP)将显示在Chrome开发者工具的请求标头中,但事实并非如此,因为仅在响应标头中显示标志,因为Set-Cookie标头仅在响应中