认证系统

认证

模板使用 Better Auth,支持邮箱密码、Google 和 GitHub 登录。在管理后台的认证设置中启用对应方式并填写 OAuth 凭据,也可使用同名服务端环境变量。会话签名与配置加密密钥由部署环境提供。

会话与权限

浏览器通过 @/core/auth/client 的 useSession 获取会话状态;需要登录的布局沿用官方 AppLayout。服务端必须独立校验每次受保护请求,浏览器判断不能代替鉴权。

后台操作通过官方执行器和明确的权限码校验。先运行 bun run rbac:init 初始化权限与角色,再为已注册用户分配管理角色。

密码

/settings/security 要求输入当前密码并确认新密码,成功后退出其他会话。邮件找回密码需要先配置邮件服务。

可选弹窗登录

设置 VITE_AUTH_SOCIAL_POPUP=true 并重新构建,可使用 Google/GitHub 弹窗登录。弹窗被拦截时会回退到原有跳转登录;完成后检查真实会话,并保留官方的站内回跳和桌面应用交接规则。