Skip to content

fix: 修复自动登出问题并优化登录注册体验 - #130

Merged
Sunwuyuan merged 1 commit into
mainfrom
refactor/auth-login-experience
Aug 30, 2026
Merged

fix: 修复自动登出问题并优化登录注册体验#130
Sunwuyuan merged 1 commit into
mainfrom
refactor/auth-login-experience

Conversation

@Sunwuyuan

Copy link
Copy Markdown
Member

改动内容

修复自动登出(后端)

核心问题refreshAccessToken() 在轮换令牌时从未更新 refresh_expires_at,导致无论用户多活跃,初次登录 30 天后必定被强制登出。

修复

  • 每次刷新令牌时滚动更新 refresh_expires_at(当前时间 + refresh token 有效期),只要持续使用就不会过期
  • Access token 默认有效期 24h → 7 天,减少刷新频率,浏览器后台标签页更容易保活
  • Refresh token 默认有效期 30 天 → 90 天,月活用户也不会被登出

优化登录注册 UX(前端)

  • 注册页简化:3 步向导(用户名 → 密码 → 条款)合并为单页表单,一次填写一键提交,减少两次点击和两次动画等待
  • 登录引导注册:用户名不存在时不再显示生硬错误,改为友好提示卡片 + "创建新账户" 按钮,引导用户无缝进入注册

涉及文件

文件 改动
apps/api/src/services/auth/tokenService.js 延长默认令牌有效期 + 滚动刷新 refresh_expires_at
apps/web/src/pages/app/account/register/index.vue 注册向导合并为单页表单
apps/web/src/composables/useSignInFlow.js 新增 accountNotFound 状态
apps/web/src/components/account/SignInFlow.vue 用户不存在时显示引导注册 UI

测试建议

  • 登录后等待令牌刷新,确认 refresh_expires_at 被滚动更新
  • 打开注册页验证单页表单正常提交
  • 登录页输入不存在的用户名,确认显示引导注册提示

后端:
- 延长 access token 默认有效期至 7 天(原 24 小时)
- 延长 refresh token 默认有效期至 90 天(原 30 天)
- 刷新令牌时滚动更新 refresh_expires_at,持续使用不过期

前端:
- 注册页 3 步向导合并为单页表单,减少两次点击
- 登录时用户名不存在改为友好提示并引导注册
@vercel

vercel Bot commented Aug 30, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
zerocat Ready Ready Preview Aug 30, 2026 3:01am
zerocatblog Ready Ready Preview Aug 30, 2026 3:01am

@Sunwuyuan
Sunwuyuan merged commit 35ad391 into main Aug 30, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant