tyt-api-nest/docs/auth.md
2026-03-13 02:40:21 +08:00

1.0 KiB
Raw Blame History

认证模块说明(src/auth

1. 目标

  • 提供注册、登录、/me 身份查询。
  • 使用 JWT 做认证Guard 做鉴权RolesGuard 做 RBAC。

2. 核心接口

  • POST /auth/register:注册账号(支持医生/工程师/院管等角色约束)
  • POST /auth/login:手机号 + 角色 + 密码登录(支持同手机号多院场景)
  • GET /auth/me:返回当前登录用户上下文

3. 鉴权流程

  1. AccessTokenGuardAuthorization 读取 Bearer Token。
  2. 校验 JWT 签名与载荷字段。
  3. 载荷映射为 ActorContext 注入 request.user
  4. RolesGuard 根据 @Roles(...) 判断角色是否允许访问。

4. Token 约定

  • HeaderAuthorization: Bearer <token>
  • 载荷关键字段:subrolehospitalIddepartmentIdgroupId

5. 错误码与中文消息

  • 未登录/Token 失效:401 + 中文 msg
  • 角色无权限:403 + 中文 msg
  • 参数非法:400 + 中文 msg

统一由全局异常过滤器输出:{ code, msg, data: null }