Help us learn about your current experience with the documentation. Take the survey.
令牌信息 API
- Tier: Free, Premium, Ultimate
- Offering: GitLab Self-Managed
- Status: Experiment
您可以使用此 API 检索任意令牌的详细信息并撤销它们。与其他公开令牌信息的 API 不同,此 API 允许您在不知道令牌具体类型的情况下检索其详细信息或撤销令牌。
令牌前缀
发起请求时,personal(个人)、project(项目)或 group access(群组访问)令牌必须以 glpat 或当前的自定义前缀开头。如果令牌以旧的自定义前缀开头,操作将会失败。关于支持旧自定义前缀的进展,请关注 issue 165663。
前提条件:
- 您必须拥有实例的管理员权限。
获取令牌信息
获取指定令牌的信息。此端点支持以下令牌:
- 个人访问令牌
- 模拟令牌
- 部署令牌
- Feed 令牌
- OAuth 应用密钥
- 集群代理令牌
- Runner 认证令牌
- 流水线触发令牌
- CI/CD 作业令牌
- 功能标志客户端令牌
- GitLab 会话 Cookie
- 接收邮件令牌
POST /api/v4/admin/token支持的属性:
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
token |
string | 是 | 用于识别的现有令牌。Personal(个人)、project(项目)或 group access(群组访问)令牌必须以 glpat 或当前的自定义前缀开头。 |
如果成功,将返回 200 状态码以及令牌信息。
可能返回以下状态码:
200 OK:令牌信息。401 Unauthorized:用户未授权。403 Forbidden:用户不是管理员。404 Not Found:未找到令牌。422 Unprocessable:不支持的令牌类型。
示例请求:
curl --request POST \
--url "https://gitlab.example.com/api/v4/admin/token" \
--header "PRIVATE-TOKEN: <your_access_token>" \
--header 'Content-Type: application/json' \
--data '{"token": "glpat-<example-token>"}'示例响应:
{
"id": 1,
"user_id": 70,
"name": "project-access-token",
"revoked": false,
"expires_at": "2024-10-04",
"created_at": "2024-09-04T07:19:18.652Z",
"updated_at": "2024-09-04T07:19:18.652Z",
"scopes": [
"api",
"read_api"
],
"impersonation": false,
"expire_notification_delivered": false,
"last_used_at": null,
"after_expiry_notification_delivered": false,
"previous_personal_access_token_id": null,
"advanced_scopes": null,
"organization_id": 1
}撤销令牌
此功能的可用性由功能标志控制。 更多信息,请参见历史记录。 此功能可用于测试,但尚未准备好用于生产环境。
根据令牌类型,撤销、重置或删除指定的令牌。此端点支持以下令牌类型:
| 令牌类型 | 支持的操作 |
|---|---|
| 个人访问令牌 | 撤销 |
| 模拟令牌 | 撤销 |
| 项目访问令牌 | 撤销 |
| 群组访问令牌 | 撤销 |
| 部署令牌 | 撤销 |
| 集群代理令牌 | 撤销 |
| 流水线触发令牌 | 撤销 |
| Feed 令牌 | 重置 |
| Runner 认证令牌 | 重置 |
| OAuth 应用密钥 | 重置 |
| 接收邮件令牌 | 重置 |
| 功能标志客户端令牌 | 重置 |
| GitLab 会话 Cookie | 删除 |
DELETE /api/v4/admin/token支持的属性:
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
token |
string | 是 | 要撤销的现有令牌。Personal(个人)、project(项目)或 group access(群组访问)令牌必须以 glpat 或当前的自定义前缀开头。 |
如果成功,将返回 204 状态码,无响应内容。
可能返回以下状态码:
204 No Content:令牌已被撤销。401 Unauthorized:用户未授权。403 Forbidden:用户不是管理员。404 Not Found:未找到令牌。422 Unprocessable:不支持的令牌类型。
示例请求:
curl --request DELETE \
--url "https://gitlab.example.com/api/v4/admin/token" \
--header "PRIVATE-TOKEN: <your_access_token>" \
--header 'Content-Type: application/json' \
--data '{"token": "glpat-<example-token>"}'