Spring Okta回调Set-Cookie SESSION两次

问题描述 投票:0回答:1

我们使用 Okta 进行用户身份验证和授权。众所周知,在授权过程中,会创建两个会话,一个在 Okta 端,另一个在应用程序端。因此,如果使用常规 JSESSION ID(在 Okta 调用 /callback 方法期间在 cookie 中设置),则对后端应用程序的所有后续请求都将包含此标头,并且可以对用户进行身份验证。

但是,我们决定使用 Redis 进行会话存储。现在,来自 Okta 的 /callback 以某种方式设置了 2 个会话,其中一个为空,并且显示如下:

SESSION=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax

导致后续请求cookie中没有这个ID,无法解析用户。有人遇到过类似的问题吗

java spring-boot session redis okta
1个回答
0
投票

通过更改会话名称修复:

server:
  servlet:
    session:
      cookie:
        name: MYSESSION
© www.soinside.com 2019 - 2024. All rights reserved.