|
@@ -4,6 +4,35 @@
|
|
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
|
|
|
|
+## v1.0.1485 (2026-10-01)
|
|
|
|
|
+
|
|
|
|
|
+### Bug 修复
|
|
|
|
|
+- 废弃裸 openid 换 token 接口,静默续期改走 code2Session
|
|
|
|
|
+
|
|
|
|
|
+### 其他
|
|
|
|
|
+- 证明。而 openid 并非密钥:它会随登录响应返回、明文存于小程序本地 storage、并可能
|
|
|
|
|
+- 经日志或截图泄露。任何拿到他人 openid 的人都能直接换取该账号的合法 token,等同
|
|
|
|
|
+- 于完全冒充该账号。
|
|
|
|
|
+- 按 AGENTS.md「废弃接口标记 410 Gone 并注释说明,不直接删除」,保留路由与注释并
|
|
|
|
|
+- 返回 410,待线上旧版本小程序全部升级后再移除路由。UserService#autoLoginByOpenid
|
|
|
|
|
+- 标记 @Deprecated。
|
|
|
|
|
+- 替代路径:前端 uni.login() 取微信签发的一次性 code,服务端 code2Session 换
|
|
|
|
|
+- openid。code 单次使用、5 分钟过期,且能证明调用方持有该微信设备,不可伪造,同样
|
|
|
|
|
+- 零交互静默完成。本地 openid 仅用于判断「本设备曾登录过」,绝不作为凭证上送。
|
|
|
|
|
+- 其他修复:
|
|
|
|
|
+- - App.vue 冷启动即恢复登录态:原先在 splash 分支提前 return,导致普通冷启动(非
|
|
|
|
|
+- 分享/小程序码进入)完全拿不到任何续期机会
|
|
|
|
|
+- - 移除 develop 环境下对 verifyStoredToken/tryAutoLogin 的屏蔽,否则开发版无法验证
|
|
|
|
|
+- 续期逻辑
|
|
|
|
|
+- - 401 重放改传未拼接 query 的原始路径,避免 URL 出现 ?a=1&a=1 重复参数
|
|
|
|
|
+- - 新增 _noRelogin:续期请求自身返回 401 时直接失败,防止递归续期/误清登录态
|
|
|
|
|
+- - 启动窗口内(pages/login 为分包,首次访问前尚未下载注册)只清登录态不跳转,避免
|
|
|
|
|
+- 「Page has not been registered yet」
|
|
|
|
|
+- - JWT 有效期 1 天 -> 30 天,配合静默续期用户几乎无需手动重新登录
|
|
|
|
|
+- 验证:前端 jest 176 项全部通过;后端 mvn clean compile(release 8)BUILD SUCCESS
|
|
|
|
|
+-
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
## v1.0.1484 (2026-09-30)
|
|
## v1.0.1484 (2026-09-30)
|
|
|
|
|
|
|
|
### Bug 修复
|
|
### Bug 修复
|