fix(qr-login): restore AuthenticationSession on external QR callback flow

解决扫码登录在跨设备回调场景下丢失 AuthenticationSession 的问题。

在 QR 登录流程中,浏览器端发起登录请求时会创建 AuthenticationSession,
但移动端扫码确认回调是独立请求,不携带浏览器 Cookie 和会话上下文,
导致直接持有的 AuthenticationSessionModel 引用无效并返回 null。

修复内容:
- 移除直接缓存 AuthenticationSessionModel 引用的方式
- 使用 AuthenticationSessionManager + kc_session_id + tabId 恢复浏览器会话
- 确保扫码回调能够正确续接原始认证流程并完成 Broker 登录

该修复提高了跨设备扫码登录的稳定性与兼容性,避免因会话断链导致登录失败。
This commit is contained in:
huiyiruciduojiao
2025-11-06 00:52:48 +08:00
parent e1c7f42b8d
commit b39f9d109f
5 changed files with 45 additions and 8 deletions

View File

@@ -11,7 +11,7 @@
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<keycloak.version>26.2.4</keycloak.version>
<keycloak.version>26.4.2</keycloak.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>