Files
Nexus/docs/changelog/2026-06-07-refresh-token-null-version-fix.md
T
Nexus Agent 7ea94a60ab fix(auth,servers): 修复 refresh 自动登出与服务器状态未知
API 返回 status 字段供前端显示在线状态;token_version 为 NULL 时 refresh cookie 含 :None 导致续期 401。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 22:53:29 +08:00

949 B
Raw Blame History

2026-06-07 — 修复 token_version=NULL 导致 refresh 失败自动登出

摘要

管理员 token_version 为 NULL 时,refresh cookie 含字面量 :None,续期解析失败 → 401 → 前端强制登出。

动机

用户反馈「刚刚又自动退出」;生产日志 POST /api/auth/refresh 401DB 中 admins.token_version 为 NULL。

变更

文件 说明
server/application/services/auth_service.py _admin_token_version / _parse_refresh_token_version;签发 refresh 用 0 而非 None
server/infrastructure/database/migrations.py UPDATE admins SET token_version=0 WHERE NULL
tests/test_refresh_token_null_version.py 回归测试

迁移 / 重启

API 重启后 migration 自动执行;无需重新登录(旧 :None cookie 仍可续期)。

验证

pytest tests/test_refresh_token_null_version.py tests/test_auth_refresh_reuse.py -q