2.2 KiB
2.2 KiB
Auth Service 模块指引
职责与边界
- 负责登录、注册、账号凭据、Access/Refresh Token、退出、密码和账号归属范围。
- 客户主档、成员、角色权限归
iam/;Auth 通过 IAM 客户端获取授权快照,不跨库写 IAM。 tenant_id=0为平台作用域,tenant_id>0为客户 ID;不得引入租户管理或切换。
模块入口
| 目标 | 入口 |
|---|---|
| 登录/刷新/退出/改密 | src/main/java/com/baiyue/auth/controller/AuthController.java |
| 内部账号管理与 scope | controller/InternalAccountController.java、service/AccountManagementService.java |
| 小 JWT 签发 | service/AuthService.java;JWT 只承载稳定身份、应用域和版本声明,角色/权限随 Redis 会话加载 |
| Token 会话与权限快照 | service/TokenSessionStore.java、client/AuthorizationLoader.java、client/IamAuthorizationClient.java;消费端映射见 ../common-security/src/main/java/com/baiyue/common/security/RedisAccessTokenSessionValidator.java、JwtClaimsMapper.java |
| 注册协作 | service/MerchantRegistrationService.java |
| IAM 授权客户端 | client/IamAuthorizationClient.java、client/IamOnboardingClient.java |
| DTO/持久化 | dto/AccountManagementDtos.java、entity/、mapper/、repository/ |
| SQL/OpenAPI | src/main/resources/db/、src/main/resources/openapi/ |
| 测试/验证 | src/test/java/com/baiyue/auth/;mvn -pl auth -am test |
修改约束
- 密码、Token、敏感 Claim 不得写日志;小 JWT 不嵌入角色和权限全集,实时授权来自 Redis 会话中的 IAM 授权快照。修改 Claim、Redis Key、权限快照或过期策略时联查
common-security/、gateway/、iam/。 - 注册跨 Auth/IAM 必须保持幂等和失败补偿;内部接口仅接受服务令牌。
- 业务错误保持 HTTP 200 + body code;Security 认证失败保留真实 401/403。
全量验收导航
一期、二期、三期及财务全量验收均复用本模块认证能力;按本次链路读取对应阶段/专题文档,重点核对 Token、应用域、客户隔离、失效和跨 Auth/IAM 补偿,不因历史阶段划分排除其他消费者。