Files
baiyue-firstleg/gateway/AGENTS.md
T
2026-08-03 15:46:50 +08:00

31 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Gateway 模块指引
## 职责边界
- 统一承接前端流量,负责服务路由、CORS、JWT/Redis 会话校验、商户端与平台端访问域隔离及 Swagger 聚合。
- 网关完成入口认证,但业务服务仍必须执行租户、数据范围和权限校验;业务编排不得写入网关。
## 快速索引
| 功能 | 入口 |
|---|---|
| 应用入口 | `src/main/java/com/baiyue/gateway/BaiyueGatewayApplication.java` |
| Security WebFilterChain | `config/GatewaySecurityConfig.java` |
| 商户/平台访问域 | `config/AppScopeAuthorizationManager.java` |
| JWT 与安全配置项 | `config/GatewaySecurityProperties.java` |
| Redis 会话过滤 | `config/RedisTokenSessionWebFilter.java` |
| CORS | `config/GatewayCorsConfiguration.java`、`GatewayCorsProperties.java` |
| 请求标识 | `filter/CorrelationIdWebFilter.java`;包括预检和安全失败响应的 `X-Request-Id` |
| 可信身份头清理/注入 | `filter/TrustedIdentityHeaderFilter.java` |
| 本地路由 | `src/main/resources/application.yml` |
| 国内环境与 Swagger 聚合 | `src/main/resources/application-cn.yml`、`../config/nacos/{local,cn}/gateway.yml` |
| 访问域与 CORS 测试 | `src/test/java/com/baiyue/gateway/config/` |
## 修改与验证
- 新增服务路由时同步检查本地与 Nacos 配置、访问域、公开路径和 Swagger 聚合;前端只访问网关。
- 禁止信任客户端自行传入的身份头;Token Claim、Redis Key 变化要与 `auth/`、`common-security/` 同步。
- 普通业务响应由下游服务返回 HTTP 200 + body code;Gateway 自身的认证/会话失败仍保留真实 401/403,不能为了统一响应改成 HTTP 200。
- CORS 生产来源必须为明确 HTTPS 域名,不能放宽为 `*`。
- 从父目录运行 `mvn -pl gateway -am test`。