Files
Edu/services/iam
SpecialX beedbaf686 docs: 同步 P6 工作日志、runbook 与服务 README
- known-issues.md: 追加 9 条 P6 工作经验日志,更新 arch-scan 经验
- post-p6-followup.md: 新增 P6 后续工作手册 runbook
- iam/core-edu/content/msg README: 补充健康检查端点说明
2026-07-08 12:53:05 +08:00
..

IAM Service

身份与访问管理服务Identity and Access ManagementP2 身份阶段交付。

职责

  • 用户注册 / 登录 / 刷新令牌
  • 角色Role与权限Permission管理
  • Access / Refresh Token 签发与校验
  • 用户信息查询(供 BFF / Gateway 聚合)

技术栈

  • NestJS 10 + TypeScriptESM
  • Drizzle ORM + MySQL
  • bcrypt 密码哈希
  • jsonwebtokenP2 骨架使用 HS256后续切 RS256
  • pino 日志 / prom-client 指标 / OpenTelemetry 链路

端口

默认 3002,通过 PORT 环境变量覆盖。

API

Method Path 说明
POST /iam/register 注册
POST /iam/login 登录
POST /iam/refresh 刷新令牌
GET /iam/me 当前用户信息(需 x-user-id 头)

健康检查

端点 用途 鉴权
GET /healthz 存活探针liveness仅返回进程状态不检查依赖
GET /readyz 就绪探针readiness检查 DB 连接,失败返回 503

实现见 src/shared/health/health.controller.ts5 个 NestJS 服务iam/core-edu/content/msg/classes一致。

数据表

iam_users / iam_roles / iam_user_roles / iam_permissions / iam_role_permissions / iam_refresh_tokens