fix(doc): fix doc
This commit is contained in:
@@ -16,6 +16,18 @@
|
||||
- `apps`:租户已开通应用列表(如 `["cms","tms"]`)
|
||||
- `apps_version`:租户 enabled_apps 版本号(用于客户端判断是否需要刷新会话)
|
||||
|
||||
## OpenAPI/Scalar 可配置参数(环境变量)
|
||||
|
||||
为方便本地调试与演示,服务会在生成 OpenAPI 文档时,将部分 Header 参数的示例值按环境变量动态注入(影响 `/scalar` 展示,不影响服务鉴权逻辑):
|
||||
|
||||
- `IAM_DOCS_DEFAULT_TENANT_ID`:默认租户 ID(用于 `X-Tenant-ID` Header 的 example)
|
||||
- 未设置时默认:`11111111-1111-1111-1111-111111111111`
|
||||
- 可选强制:`IAM_DOCS_REQUIRE_TENANT_ID=1`(未设置则启动时直接失败)
|
||||
- `IAM_DOCS_DEFAULT_TOKEN`:默认 Token(用于 `Authorization` Header 的 example)
|
||||
- 可填写裸 JWT 或 `Bearer <jwt>`;裸 JWT 会自动补齐 `Bearer `
|
||||
- 未设置时默认:`Bearer <access_token>`
|
||||
- 可选强制:`IAM_DOCS_REQUIRE_TOKEN=1`(未设置则启动时直接失败)
|
||||
|
||||
## 通用响应结构
|
||||
|
||||
成功响应:
|
||||
@@ -63,6 +75,7 @@
|
||||
|
||||
**POST** `/tenants/register`
|
||||
|
||||
- Tag:`Tenant`
|
||||
- Header:无
|
||||
- Body:
|
||||
|
||||
@@ -88,6 +101,7 @@
|
||||
|
||||
**POST** `/auth/register`
|
||||
|
||||
- Tag:`Auth`
|
||||
- Header:`X-Tenant-ID: 00000000-0000-0000-0000-000000000001`
|
||||
- Body:
|
||||
|
||||
@@ -99,6 +113,7 @@
|
||||
|
||||
**POST** `/auth/register`
|
||||
|
||||
- Tag:`Auth`
|
||||
- 必需 Header:`X-Tenant-ID: <tenant_id>`
|
||||
- Body:
|
||||
|
||||
@@ -116,6 +131,7 @@
|
||||
|
||||
**POST** `/auth/login`
|
||||
|
||||
- Tag:`Auth`
|
||||
- 必需 Header:`X-Tenant-ID: <tenant_id>`
|
||||
- Body:
|
||||
|
||||
@@ -135,6 +151,7 @@
|
||||
|
||||
**GET** `/tenants/me`
|
||||
|
||||
- Tag:`Tenant`
|
||||
- 必需 Header:`Authorization: Bearer <access_token>`
|
||||
- 可选 Header:`X-Tenant-ID: <tenant_id>`(如提供必须与 token tenant_id 一致)
|
||||
|
||||
@@ -148,6 +165,7 @@
|
||||
|
||||
**GET** `/me/permissions`
|
||||
|
||||
- Tag:`Me`
|
||||
- 必需 Header:`Authorization: Bearer <access_token>`
|
||||
|
||||
成功(200):
|
||||
@@ -169,12 +187,14 @@
|
||||
|
||||
**GET** `/platform/tenants/{tenant_id}/enabled-apps`
|
||||
|
||||
- Tag:`Tenant`
|
||||
- Header:`Authorization: Bearer <access_token>`(平台租户下登录得到的 token)
|
||||
|
||||
#### 4.1.2 设置某租户 enabled_apps(全量覆盖,幂等)
|
||||
|
||||
**PUT** `/platform/tenants/{tenant_id}/enabled-apps`
|
||||
|
||||
- Tag:`Tenant`
|
||||
- Header:`Authorization: Bearer <access_token>`
|
||||
- Body:
|
||||
|
||||
@@ -185,11 +205,18 @@
|
||||
说明:
|
||||
- `expected_version` 可选,用于并发控制;不匹配会返回 409。
|
||||
- 登录签发 token 时会自动把 `apps/apps_version` 注入到 JWT,并对 `permissions` 按 enabled_apps 过滤。
|
||||
- `enabled_apps` 必须是“应用注册表 apps 表”中存在且 `status=active` 的应用 ID;若传入未知/已下线应用(例如 `dms`),接口会返回 400。
|
||||
|
||||
enabled_apps 维护建议:
|
||||
- 新增应用:通过数据库迁移向 `apps(id,name,description,status)` 插入一行(`id` 推荐全小写短标识,如 `cms` / `tms`)。
|
||||
- 下线应用:将 `apps.status` 置为非 `active`(例如 `disabled`),之后将无法再被设置进任何租户的 enabled_apps。
|
||||
- 查询可用应用(示例 SQL):`SELECT id, name, status FROM apps ORDER BY id;`
|
||||
|
||||
### Step 5:列出用户(User)
|
||||
|
||||
**GET** `/users?page=1&page_size=20`
|
||||
|
||||
- Tag:`User`
|
||||
- 必需 Header:`Authorization: Bearer <access_token>`
|
||||
- 分页规则:
|
||||
- `page` 默认 1,必须 >= 1
|
||||
@@ -205,6 +232,7 @@
|
||||
|
||||
**GET** `/roles`
|
||||
|
||||
- Tag:`Role`
|
||||
- 必需 Header:`Authorization: Bearer <access_token>`
|
||||
|
||||
成功(200):
|
||||
@@ -221,12 +249,14 @@
|
||||
|
||||
**GET** `/users/{id}/roles`
|
||||
|
||||
- Tag:`User`
|
||||
- Header:`Authorization: Bearer <access_token>`
|
||||
|
||||
#### 7.2 设置用户角色(全量覆盖,幂等;需要 user:write)
|
||||
|
||||
**PUT** `/users/{id}/roles`
|
||||
|
||||
- Tag:`User`
|
||||
- Header:`Authorization: Bearer <access_token>`
|
||||
- Body:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user