55 lines
3.3 KiB
Markdown
55 lines
3.3 KiB
Markdown
# 控制台应用范围
|
||
|
||
此接口服务于内置控制台的单管理员,用于按应用环境读取列表、详情并执行已有管理操作;不是 SDK 的跨应用调用方式。业务服务继续使用自己应用的 Token 和队列。
|
||
|
||
## 查看范围元数据
|
||
|
||
`GET /console/scope?after=<queue_id>` 只接受登录 Cookie,返回 `data`:
|
||
|
||
```json
|
||
{
|
||
"entry": {
|
||
"application_id": "11111111111111111111111111111111",
|
||
"application": "sample-app",
|
||
"namespace_id": "22222222222222222222222222222222",
|
||
"namespace": "default",
|
||
"environment": "test",
|
||
"enabled": true
|
||
},
|
||
"queues": [{"id": "33333333333333333333333333333333", "name": "jobs"}],
|
||
"can_switch": true
|
||
}
|
||
```
|
||
|
||
不指定范围头时返回账号原始应用及授权队列。队列按 ID 升序,每页最多 100 项,存在更多时返回 `next`,下次用 `after=next`;没有更多则省略。应用目录继续使用 `GET /console/applications` 的 50 项分页。名称全部来自数据库,ID 为授权身份,不按应用名称猜测关联。
|
||
|
||
## 显式选择应用环境
|
||
|
||
部署配置 `ORBIT_CONSOLE_APPLICATION_ADMIN` 指定的登录管理员可发送:
|
||
|
||
```http
|
||
X-Orbit-Console: 1
|
||
X-Orbit-Namespace: 22222222222222222222222222222222
|
||
```
|
||
|
||
以上请求头只能搭配原登录 Cookie,不能搭配 `Authorization`。服务端不签发、不返回新业务 Token,不更改浏览器会话原始归属。部署配置为空或登录名不匹配时拒绝切换。
|
||
|
||
支持范围:
|
||
|
||
| 页面 | 请求 | 数据范围 |
|
||
| --- | --- | --- |
|
||
| 任务执行 | 现有 `/v1/tasks` 列表、详情、历史及管理动作 | 所选命名空间 + 队列 |
|
||
| 定时计划 | 现有 `/v1/schedules` 查询、暂停/继续 | 所选命名空间 + 队列 |
|
||
| 流程实例 | 现有 `/v1/workflows` 查询、控制和人工恢复 | 所选命名空间,含流程固定版本所有队列 |
|
||
| 结果订阅 | 现有 `/v1/subscriptions` 查询、启停和交付重试 | 所选命名空间 + 队列,管理员可管理该范围内不同 SDK 凭据的已有订阅 |
|
||
| 保留策略 | `/console/retention`、预览、导出 | 所选命名空间 |
|
||
| 归档作业 | `/console/archive/plans`、`jobs` 及原管理动作 | 所选命名空间 |
|
||
|
||
队列选项仅对任务、计划、订阅生效。此桥接入口不提供创建任务/计划/订阅、发布定义、启动流程、发送信号、Worker 执行或结果消费权限。SDK 原有的权限与订阅归属校验不变。
|
||
|
||
每个业务事务重新核验管理员账号、原会话、绑定凭据有效性以及原/目标应用启用状态,再执行原有的资源归属、版本、幂等、核查证据和审计规则。管理审计操作者为 `console:<user_id>`,操作归入目标命名空间。读取其他范围的资源 ID 不会越权返回数据。不存在的范围、未授权范围不自动回退。
|
||
|
||
缺少 Cookie 或会话失效返回 401;不允许的范围切换、混用 SDK Bearer、跨站写操作返回 403;目标应用停用或资源不属于当前范围返回 404。非法范围 ID 返回 400。页面切换采用完整导航,旧详情和请求不会在新应用页面呈现;URL 只保留非敏感 ID。
|
||
|
||
任务列表沿用原有 SQL 筛选语义:请求其他应用的队列会得到空列表;该队列或任务的单条详情返回 404。页面会先核对 URL 中的队列归属,错误队列不会被当成正常空列表。
|