我使用 Spring Boot 2.7.18 和 Spring Session 以及 MySQL 将会话存储在数据库中,并且我的前端是用 Angular 构建的。登录并重定向回我的 Angular 应用程序后,会话 ID 会发生变化,并且在浏览器(“应用程序”选项卡下)和 MySQL 数据库中都会创建一个新会话。即使我期望同一个会话在请求之间持续存在,也会发生这种情况,导致每次重定向用户时都会重新创建会话,从而破坏会话持久性。
流程概述:
- 用户单击 Angular 应用程序中的按钮。
- 该按钮触发 OIDC 身份验证页面。
- 用户通过其中一个可用选项进行连接。
- 用户被重定向到我的 Spring Boot 应用程序中的端点。
- Spring Boot 应用程序将用户重定向回我的 Angular 应用程序。
因此,在第一步,有一个特定的会话 ID,然后在最后,这个 ID 发生了变化。我不明白为什么,或者我们正在尝试是否可行。