トークン情報API
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab Self-Managed
- ステータス: 実験的機能
このAPIを使用すると、任意のトークンに関する詳細を取得し、それらを失効することができます。他のトークン情報を公開するAPIとは異なり、このAPIを使用すると、トークンの特定のタイプを知らなくても、詳細を取得したり、トークンを失効することができます。
トークンのプレフィックス
リクエストを行う場合、personal、project、またはgroup accessトークンは、glpatまたは現在のカスタムプレフィックスで始まる必要があります。トークンが以前のカスタムプレフィックスで始まる場合、操作は失敗します。以前のカスタムプレフィックスのサポートへの関心は、issue 165663で追跡されます。
前提要件:
- インスタンスへの管理者アクセス権が必要です。
トークンに関する情報を取得します
指定されたトークンの情報を取得します。このエンドポイントは、次のトークンをサポートしています:
- パーソナルアクセストークン
- 代理トークン
- デプロイトークン
- フィードトークン
- OAuthアプリケーションシークレット
- クラスターエージェントトークン
- Runner認証トークン
- パイプライントリガートークン
- CI/CDジョブトークン。
- 機能フラグクライアントトークン
- GitLabセッションクッキー
- 受信メールトークン
POST /api/v4/admin/tokenサポートされている属性は以下のとおりです:
| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
token | 文字列 | はい | 識別する既存のトークン。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
}トークンを失効させる
この機能の利用可否は、機能フラグによって制御されます。詳細については、履歴を参照してください。この機能はテストには利用できますが、本番環境での使用には適していません。
トークンのタイプに基づいて、特定のトークンを失効、リセット、または削除します。このエンドポイントは、次のトークンタイプをサポートしています:
| トークンの種類 | サポートされているアクション |
|---|---|
| パーソナルアクセストークン | 失効 |
| 代理トークン | 失効 |
| プロジェクトアクセストークン | 失効 |
| グループアクセストークン | 失効 |
| デプロイトークン | 失効 |
| クラスターエージェントトークン | 失効 |
| パイプライントリガートークン | 失効 |
| フィードトークン | リセット |
| Runner認証トークン | リセット |
| OAuthアプリケーションシークレット | リセット |
| 受信メールトークン | リセット |
| 機能フラグクライアントトークン | リセット |
| GitLabセッションクッキー | 削除 |
DELETE /api/v4/admin/tokenサポートされている属性は以下のとおりです:
| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
token | 文字列 | はい | 失効する既存のトークン。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>"}'