{{< details >}}

  • Tier: 基础版, 专业版, 旗舰版
  • Offering: 私有化部署
  • Status: 实验

{{< /details >}}

使用此 API 可以检索任意令牌的详细信息并撤销它们。与其他暴露令牌信息的 API 不同,此 API 允许您在不知道特定令牌类型的情况下检索详细信息或撤销令牌。

令牌前缀

在进行请求时,personalprojectgroup access 令牌必须以 glpat 或当前的自定义前缀开头。如果令牌以之前的自定义前缀开头,操作将失败。

先决条件:

  • 您必须具有对实例的管理员访问权限。

获取令牌信息

{{< history >}}

  • 在极狐GitLab 17.5 中引入,具有名为 admin_agnostic_token_finder 的 FLAG。默认情况下禁用。
  • 在极狐GitLab 17.8 中普遍可用。功能 FLAG admin_agnostic_token_finder 被移除。
  • 在极狐GitLab 17.6 中添加了 Feed 令牌。
  • 在极狐GitLab 17.7 中添加了 OAuth 应用密钥。
  • 在极狐GitLab 17.7 中添加了集群代理令牌。
  • 在极狐GitLab 17.7 中添加了 Runner 身份验证令牌。
  • 在极狐GitLab 17.7 中添加了流水线触发令牌。
  • 在极狐GitLab 17.9 中添加了 CI/CD 任务令牌。
  • 在极狐GitLab 17.9 中添加了功能标志客户端令牌。
  • 在极狐GitLab 17.9 中添加了极狐GitLab 会话 Cookie。
  • 在极狐GitLab 17.9 中添加了传入邮件令牌。

{{< /history >}}

获取给定令牌的信息。此端点支持以下令牌:

POST /api/v4/admin/token

支持的属性:

属性 类型 必需 描述
token string 要识别的现有令牌。personalprojectgroup 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
}

撤销令牌

{{< history >}}

  • 在极狐GitLab 17.7 中引入,具有名为 api_admin_token_revoke 的 FLAG。默认情况下禁用。
  • 在极狐GitLab 17.9 中添加了集群代理令牌。
  • 在极狐GitLab 17.9 中添加了 Runner 身份验证令牌。
  • 在极狐GitLab 17.9 中添加了 OAuth 应用密钥。
  • 在极狐GitLab 17.9 中添加了传入邮件令牌。
  • 在极狐GitLab 17.9 中添加了功能标志客户端令牌。
  • 在极狐GitLab 17.10 中添加了流水线触发令牌,具有名为 token_api_expire_pipeline_triggers 的 FLAG。默认情况下禁用。
  • 在极狐GitLab 17.11 中添加了极狐GitLab 会话。

{{< /history >}}

{{< alert type=”flag” >}}

此功能的可用性由一个功能 FLAG 控制。有关更多信息,请参阅历史记录。此功能可用于测试,但尚未准备好用于生产环境。

{{< /alert >}}

根据令牌类型撤销、重置或删除给定令牌。此端点支持以下令牌类型:

令牌类型 支持的操作
个人访问令牌 撤销
模拟令牌 撤销
项目访问令牌 撤销
群组访问令牌 撤销
部署令牌 撤销
集群代理令牌 撤销
流水线触发令牌 撤销
Feed 令牌 重置
Runner 身份验证令牌 重置
OAuth 应用密钥 重置
传入邮件令牌 重置
功能标志客户端令牌 重置
极狐GitLab 会话 Cookie 删除
DELETE /api/v4/admin/token

支持的属性:

属性 类型 必需 描述
token string 要撤销的现有令牌。personalprojectgroup 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>"}'