Files
qipai/docs/api-changelog/2026-06-18-M02-B-wechat-auth.md
T
2026-06-18 10:46:39 +08:00

22 lines
1.2 KiB
Markdown

# M02-B 微信登录与会话 API
## 接口
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | `/app-api/auth/wechat-login` | 使用 `wx.login` code 换取应用身份并创建服务端会话 |
| GET | `/app-api/auth/me` | 校验 JWT 和 MySQL 会话后返回最小用户资料 |
| POST | `/app-api/auth/logout` | 撤销当前服务端会话 |
登录请求必须携带 `x-wechat-appid`,多租户应用还需 `tenant-id`。请求体仅包含 `code`。AppSecret 从 `QIPAI_WECHAT_APP_SECRETS` 读取,不写入数据库、源码、响应或日志。
## 安全行为
- JWT 使用 HS256,包含 `tenant/user/session/platform_app/role_version`,默认访问令牌有效期 15 分钟。
- JWT 不作为唯一信任源;`/auth/me` 和受保护接口必须回查服务端会话、用户状态与角色版本。
- 注销、用户禁用、角色版本变化或会话过期后,旧 JWT 即使尚未到 `exp` 也不可继续使用。
- 生产环境禁止使用代码内开发 JWT 默认值。
- 昵称、头像和手机号默认留空,不因登录自动索取;后续只有在业务明确需要并经微信授权时更新。
真实微信 code 联调需要用户配置 AppID 对应 AppSecret,当前自动化测试使用可注入假网关,不伪造外部平台成功。