跳转到内容

认证与账号

认证由后端统一提供,前端通过 Authorization: Bearer <token> 携带令牌。

方法 路径 说明 认证
POST /api/auth/login 登录 否
POST /api/auth/register 注册 否
POST /api/auth/logout 登出 Python:是;Java:兼容未登录

成功后返回令牌与用户信息(含权限码与角色),前端保存令牌并进入后台。失败时返回中文错误信息并记录审计日志。

注册行为受两个系统设置控制:

  • 开放注册(openRegistration)为 false 时,注册接口返回「注册已关闭」。
  • 人工审核(manualReview)为 true 时,新账号被分配 pending_review 角色,接口只返回「注册成功,请等待管理员审核」,不签发令牌;为 false 时直接分配 user 角色并自动登录。

登录与注册按 IP 限制:每分钟最多 5 次,超出返回:

  • 登录:「登录尝试过于频繁,请稍后再试」
  • 注册:「注册尝试过于频繁,请稍后再试」

限制在凭据校验之前生效。IP 解析顺序为 X-Real-IP(Nginx,不可伪造)→ X-Forwarded-For 首段 → 直连地址。

管理员可在系统设置中开启维护模式。开启后:

  • 非管理员登录会被拒绝,返回自定义的维护提示(未设置时为「系统维护中」)。
  • 管理员仍可正常登录,以便关闭维护模式。
Python Java
令牌类型 JWT(PyJWT,HS256) Sa-Token UUID 会话令牌
有效期 默认 24 小时 默认 86400 秒
登出 需登录,删除服务端会话 兼容未登录调用,同样返回成功

前端请求层在收到 401 时自动清除本地登录状态并跳转登录页,无需在每个页面单独处理。