Admin · Upload tokens
Issuing, rotating and revoking named upload tokens, and their S3 credentials
分页,缺省列本人的;管理员可带 user_id 查看指定用户的。只含识别前缀,无哈希无明文。
sessionimgyoung_session<token>登录下发的会话 cookie;状态变更请求须另以 X-CSRF-Token 头回传会话绑定的 CSRF 令牌。
page?integer页码,从 1 起;缺省 1
1 <= valuepage_size?integer每页条数;缺省 20,上限 100
1 <= value <= 100user_id?string查看指定用户的 Token;仅管理员生效
Token 分页
application/json- response
items*array<>total*integer过滤后的总条数
int64curl -X GET 'http://localhost:8721/api/admin/tokens'{ "items": [ { "id": 0, "name": "string", "prefix": "string", "scopes": "string", "expires_at": "string", "last_used_at": "string", "revoked_at": "string", "created_at": "string" } ], "total": 0}为当前用户签发具名 Token;明文仅在本响应返回一次。
sessionimgyoung_session<token>登录下发的会话 cookie;状态变更请求须另以 X-CSRF-Token 头回传会话绑定的 CSRF 令牌。
X-CSRF-Token*string登录或 GET /api/admin/me 响应里的 csrf_token;缺失或不匹配返回 403
application/json- body
name*string用途名,同一用户内唯一
length <= 64expires_in_hours?integer有效期小时数;缺省或 0 表示永久
int640 <= value <= 876000新 Token;token 为明文,仅此一次下发
application/json- response
id*integerint64name*stringprefix*stringtoken*stringToken 明文,仅此一次下发
curl -X POST 'http://localhost:8721/api/admin/tokens' \ -H 'X-CSRF-Token: string' \ -H 'Content-Type: application/json' \ -d '{ "name": "string"}'{ "id": 0, "name": "string", "prefix": "string", "token": "string"}本人可删自己的,管理员可删任何人的;仍有效的 Token 返回 409,须先吊销。
sessionimgyoung_session<token>登录下发的会话 cookie;状态变更请求须另以 X-CSRF-Token 头回传会话绑定的 CSRF 令牌。
id*integerToken 记录 id
int64X-CSRF-Token*string登录或 GET /api/admin/me 响应里的 csrf_token;缺失或不匹配返回 403
curl -X DELETE 'http://localhost:8721/api/admin/tokens/0' \ -H 'X-CSRF-Token: string'本人可吊销自己的,管理员可吊销任何人的;S3 协议面的同一凭证随之失效。
sessionimgyoung_session<token>登录下发的会话 cookie;状态变更请求须另以 X-CSRF-Token 头回传会话绑定的 CSRF 令牌。
id*integerToken 记录 id
int64X-CSRF-Token*string登录或 GET /api/admin/me 响应里的 csrf_token;缺失或不匹配返回 403
curl -X POST 'http://localhost:8721/api/admin/tokens/0/revoke' \ -H 'X-CSRF-Token: string'同名新 Token 原子替换旧 Token,新明文仅此一次返回;仅限本人的有效 Token。
sessionimgyoung_session<token>登录下发的会话 cookie;状态变更请求须另以 X-CSRF-Token 头回传会话绑定的 CSRF 令牌。
id*integerToken 记录 id
int64X-CSRF-Token*string登录或 GET /api/admin/me 响应里的 csrf_token;缺失或不匹配返回 403
新 Token;token 为明文,仅此一次下发
application/json- response
id*integerint64name*stringprefix*stringtoken*stringToken 明文,仅此一次下发
curl -X POST 'http://localhost:8721/api/admin/tokens/0/rotate' \ -H 'X-CSRF-Token: string'{ "id": 0, "name": "string", "prefix": "string", "token": "string"}密钥由主密钥按 Token 派生、不落库,可随时重看;仅限本人的 Token。用 POST 是为了让凭证下发也过 CSRF 闸。
sessionimgyoung_session<token>登录下发的会话 cookie;状态变更请求须另以 X-CSRF-Token 头回传会话绑定的 CSRF 令牌。
id*integerToken 记录 id
int64X-CSRF-Token*string登录或 GET /api/admin/me 响应里的 csrf_token;缺失或不匹配返回 403
S3 凭证与端点
application/json- response
一枚 Token 的 S3 协议凭证与端点配置
access_key_id*string即 Token 明文前缀
secret_access_key*string由主密钥派生,可随时重看
endpoint*string客户端填的 S3 端点,末尾 /s3 是协议面前缀
uriregion*string本服务不区分区域,给一个客户端普遍接受的值
bucket*string无桶概念,占位名供客户端填
url_prefix*string客户端据此拼最终访问地址,含用户 id 段
uricurl -X POST 'http://localhost:8721/api/admin/tokens/0/s3-credential' \ -H 'X-CSRF-Token: string'{ "access_key_id": "string", "secret_access_key": "string", "endpoint": "http://example.com", "region": "string", "bucket": "string", "url_prefix": "http://example.com"}