P2 阶段交付物: - services/iam: 完整身份认证服务(users/roles/permissions/refresh_tokens 6 表 schema) - register/login/refresh/getUserInfo 4 个核心 API - bcrypt 密码哈希 + JWT 双 Token(access + refresh) - 复用 classes 黄金模板(errors/observability/middleware 三件套) - services/teacher-bff: 教师聚合 BFF - Promise.allSettled 并行聚合 IAM + classes 数据 - /teacher/dashboard 单一聚合端点 - packages/shared-proto/proto/iam.proto: IamService 契约(Register/Login/RefreshToken/GetUserInfo) - api-gateway: 新增 IamServiceURL/TeacherBffURL 配置 + /iam/* + /teacher/* 路由
API Gateway
Go (Gin) 实现的 API 网关,所有外部请求的统一入口。
职责
- 路由转发:/api/v1/classes/* → classes 服务
- JWT 鉴权:P1 HS256,P2 RS256
- 请求 ID 注入:全链路追踪
开发
cd services/api-gateway
go mod tidy
go run main.go
健康检查
GET /healthz