Files
baiyue-firstleg/auth/AGENTS.md
T
2026-08-14 14:50:39 +08:00

2.6 KiB
Raw Blame History

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 签发与 JWKS config/AuthSecurityConfig.java、config/AuthSecurityProperties.java、service/AuthService.java、JWKS 公钥发布 Controller;Auth 是国内与海外仓共用的唯一用户 Token 签发方
小 JWT 与会话 service/AuthService.java、service/TokenSessionStore.java;JWT 只承载稳定身份、应用域和版本声明,国内服务用 Redis 会话校验,海外服务不访问国内 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 使用 RS256,私钥只留在 Auth,JWKS 只发布公钥。国内小 JWT 的实时权限来自 Redis 会话快照,海外服务使用短时 Claims,不访问国内 Redis。修改 Claim、JWKS、权限快照或过期策略时联查 common-security/、gateway/、iam/ 和海外服务消费者。
  • 注册跨 Auth/IAM 必须保持幂等和失败补偿;内部接口仅接受服务令牌。
  • 业务错误保持 HTTP 200 + body code;Security 认证失败保留真实 401/403。

全量验收导航

一期、二期、三期及财务全量验收均复用本模块认证能力;按本次链路读取对应阶段/专题文档,重点核对 Token、应用域、客户隔离、失效和跨 Auth/IAM 补偿,不因历史阶段划分排除其他消费者。