2 Commits

Author SHA1 Message Date
huiyiruciduojiao
b39f9d109f fix(qr-login): restore AuthenticationSession on external QR callback flow
解决扫码登录在跨设备回调场景下丢失 AuthenticationSession 的问题。

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

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

该修复提高了跨设备扫码登录的稳定性与兼容性,避免因会话断链导致登录失败。
2025-11-06 00:52:48 +08:00
huiyiruciduojiao
22edd9c9eb feat(qrlogin): 实现基于二维码的Keycloak登录功能- 添加二维码登录核心类,包括会话管理、签名验证和二维码生成
- 实现Keycloak身份提供者SPI,支持二维码登录流程
- 集成ZXing库用于二维码生成和解析
- 添加基于内存和Redis的会话存储实现
- 实现HMAC-SHA256签名算法用于请求验证
- 添加OpenAPI文档定义二维码登录接口规范- 配置Maven构建文件,包含必要的依赖和插件
- 添加IDE配置文件和项目忽略文件
- 实现JWT令牌验证和用户身份认证
- 添加会话过期清理机制和线程安全存储
2025-11-03 00:00:56 +08:00