feat(login, zulip): 引入 JWT 验证并重构 API 密钥管理 #3

Merged
ANGJustinl merged 2 commits from zulip_dev into master 2026-01-06 19:05:13 +08:00
Owner

详细变更描述

  • 修复 JWT 签名冲突:重构 LoginService.generateTokenPair(),移除载荷(Payload)中的 iss (issuer) 与 aud (audience) 字段,解决签名校验失败的问题。
  • 统一验证逻辑:更新 ZulipService 以调用 LoginService.verifyToken(),消除重复的 JWT 校验代码,确保逻辑单一职责化(Single Responsibility)。
  • 修复硬编码 API 密钥问题:消息发送功能不再依赖静态配置,改为从 Redis 动态读取用户真实的 API 密钥。
  • 解耦依赖注入:在 ZulipModule 中注入 AuthModule 依赖,以支持标准的 Token 验证流程。
  • 完善技术文档:补充了关于 JWT 验证流程及 API 密钥管理逻辑的详细文档。
  • 新增测试工具:添加 test-get-messages.js 脚本,用于验证通过 WebSocket 接收消息的功能。
  • 更新自动化脚本:同步更新了 API 密钥验证及用户注册校验的快速测试脚本。
  • 端到端功能验证:确保消息发送逻辑能够正确映射并调用用户真实的 Zulip API 密钥。
### 详细变更描述 * **修复 JWT 签名冲突**:重构 `LoginService.generateTokenPair()`,移除载荷(Payload)中的 `iss` (issuer) 与 `aud` (audience) 字段,解决签名校验失败的问题。 * **统一验证逻辑**:更新 `ZulipService` 以调用 `LoginService.verifyToken()`,消除重复的 JWT 校验代码,确保逻辑单一职责化(Single Responsibility)。 * **修复硬编码 API 密钥问题**:消息发送功能不再依赖静态配置,改为从 Redis 动态读取用户真实的 API 密钥。 * **解耦依赖注入**:在 `ZulipModule` 中注入 `AuthModule` 依赖,以支持标准的 Token 验证流程。 * **完善技术文档**:补充了关于 JWT 验证流程及 API 密钥管理逻辑的详细文档。 * **新增测试工具**:添加 `test-get-messages.js` 脚本,用于验证通过 WebSocket 接收消息的功能。 * **更新自动化脚本**:同步更新了 API 密钥验证及用户注册校验的快速测试脚本。 * **端到端功能验证**:确保消息发送逻辑能够正确映射并调用用户真实的 Zulip API 密钥。
ANGJustinl added 2 commits 2026-01-06 19:04:57 +08:00
- 新增 @nestjs/jwt 和 jsonwebtoken 依赖包
- 实现 refreshAccessToken 方法支持令牌续期
- 添加 RefreshTokenDto 和 RefreshTokenResponseDto
- 新增 /auth/refresh-token 接口
- 完善令牌刷新的限流和超时控制
- 增加相关单元测试覆盖
- 优化错误处理和日志记录
### 详细变更描述

* **修复 JWT 签名冲突**:重构 `LoginService.generateTokenPair()`,移除载荷(Payload)中的 `iss` (issuer) 与 `aud` (audience) 字段,解决签名校验失败的问题。
* **统一验证逻辑**:更新 `ZulipService` 以调用 `LoginService.verifyToken()`,消除重复的 JWT 校验代码,确保逻辑单一职责化(Single Responsibility)。
* **修复硬编码 API 密钥问题**:消息发送功能不再依赖静态配置,改为从 Redis 动态读取用户真实的 API 密钥。
* **解耦依赖注入**:在 `ZulipModule` 中注入 `AuthModule` 依赖,以支持标准的 Token 验证流程。
* **完善技术文档**:补充了关于 JWT 验证流程及 API 密钥管理逻辑的详细文档。
* **新增测试工具**:添加 `test-get-messages.js` 脚本,用于验证通过 WebSocket 接收消息的功能。
* **更新自动化脚本**:同步更新了 API 密钥验证及用户注册校验的快速测试脚本。
* **端到端功能验证**:确保消息发送逻辑能够正确映射并调用用户真实的 Zulip API 密钥。
ANGJustinl self-assigned this 2026-01-06 19:05:08 +08:00
ANGJustinl merged commit 9483d6ab20 into master 2026-01-06 19:05:13 +08:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ANGJustinl/whale-town-end#3