fix(api-gateway): 修复尾斜杠重定向循环与 DEV_MODE 旁路
- main.go: 禁用 RedirectTrailingSlash,为 classes/iam/teacher 双注册无尾斜杠与通配符路由 - auth.go: DEV_MODE=true 时接受 Bearer dev-token 注入开发用户 - config.go: 新增 DevMode 配置项与 getEnvBool 工具 - page.tsx: 开发模式请求携带 Authorization: Bearer dev-token - .env.example: 添加 DEV_MODE=false 默认值与生产警告
This commit is contained in:
@@ -71,14 +71,20 @@ docker build -t edu/api-gateway .
|
||||
|
||||
通过环境变量配置(见 `internal/config/config.go`):
|
||||
|
||||
| 变量 | 默认值 | 说明 |
|
||||
| --------------------- | --------------------- | -------------------- |
|
||||
| `PORT` | 8080 | 监听端口 |
|
||||
| `JWT_SECRET` | (必填) | HS256 签名密钥(P1) |
|
||||
| `JWT_PUBLIC_KEY` | (P2) | RS256 公钥 |
|
||||
| `CLASSES_SERVICE_URL` | http://localhost:3001 | classes 服务地址 |
|
||||
| `RATE_LIMIT_RPS` | 10 | 每秒令牌数 |
|
||||
| `RATE_LIMIT_BURST` | 20 | 突发容量 |
|
||||
| 变量 | 默认值 | 说明 |
|
||||
| ----------------------------- | --------------------- | ------------------------------------------------------ |
|
||||
| `API_GATEWAY_PORT` | 8080 | 监听端口 |
|
||||
| `JWT_SECRET` | (必填) | HS256 签名密钥(P1) |
|
||||
| `JWT_ISSUER` | next-edu-cloud | JWT 签发者 |
|
||||
| `JWT_AUDIENCE` | next-edu-cloud | JWT 受众 |
|
||||
| `DEV_MODE` | false | 开发模式旁路:true 时接受 `Bearer dev-token`(仅本地) |
|
||||
| `CLASSES_SERVICE_URL` | http://localhost:3001 | classes 服务地址 |
|
||||
| `IAM_SERVICE_URL` | http://localhost:3002 | iam 服务地址 |
|
||||
| `TEACHER_BFF_URL` | http://localhost:3003 | teacher-bff 服务地址 |
|
||||
| `OTEL_EXPORTER_OTLP_ENDPOINT` | http://localhost:4318 | OpenTelemetry OTLP 端点 |
|
||||
| `LOG_LEVEL` | info | 日志级别 |
|
||||
|
||||
> **生产环境警告**:`DEV_MODE` 必须为 `false` 或不设。设为 `true` 会允许 `dev-token` 旁路鉴权并注入固定 admin 身份。
|
||||
|
||||
## 关联文档
|
||||
|
||||
|
||||
Reference in New Issue
Block a user