tyt-api-nest/docs/auth.md
EL b527256874 feat(auth-org): 强化用户权限边界并完善组织负责人配置展示
feat(admin-ui): 医院管理显示医院管理员并限制候选角色
feat(security): 关闭注册入口,新增 system-admin 创建链路与数据脱敏
2026-03-18 17:05:36 +08:00

1.0 KiB
Raw Blame History

认证模块说明(src/auth

1. 目标

  • 提供系统管理员创建、登录、/me 身份查询。
  • 使用 JWT 做认证Guard 做鉴权RolesGuard 做 RBAC。

2. 核心接口

  • POST /auth/system-admin:创建系统管理员(需引导密钥)
  • POST /auth/login:手机号 + 角色 + 密码登录(支持同手机号多院场景)
  • GET /auth/me:返回当前登录用户上下文

3. 鉴权流程

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

4. Token 约定

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

5. 错误码与中文消息

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

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