跳到主要内容

认证

获取 Token

向服务管理员申请。管理员可在 Web 界面「Token 管理」页创建,或通过 API:

curl -X POST $HOST/api/v1/auth/tokens \
-H "Authorization: Bearer $ADMIN_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"my-app","username":"alice","role":"user"}'

响应(raw token 仅此一次返回,请立即保存):

{
"ok": true,
"token": "sk-memex-XXXXXXXXXXXXXXXX",
"token_id": "1"
}
自部署引导

自己部署的全新实例(数据库中尚无任何 token)首次创建 token 可免鉴权(bootstrap 通道)。 一旦库中存在任意有效 token,引导通道立即关闭。详见生产部署

使用 Token

在请求头中携带:

Authorization: Bearer sk-memex-XXXXXXXXXXXXXXXX

SSE 接口(EventSource 不支持自定义 header)改用查询参数:

GET /api/v1/jobs/42/stream?access_token=sk-memex-XXXX

Token 管理端点

POST /api/v1/auth/tokens

创建 token。

{ "name": "ci-bot", "username": "alice", "role": "user" }

role 取值:user(只能操作自己的资源)或 admin(可见全部)。

GET /api/v1/auth/tokens

列出所有 token(不含 raw 值,仅显示前缀)。需 admin 权限。

POST /api/v1/auth/tokens/revoke

吊销 token:{ "token_id": "3" }

GET /api/v1/auth/me

返回当前 token 的 usernameroletoken_id

角色与隔离

角色权限
user只能看到/操作自己创建(owner)的 job 与 wiki
admin可见并操作全部资源

越权访问他人资源返回 403 Forbidden