Back to Gitlabhq

API d'informations sur les jetons

doc-locale/fr-fr/api/admin/token.md

19.2.09.7 KB
Original Source

{{< details >}}

  • Édition : Gratuite, GitLab Premium, GitLab Ultimate
  • Offre : GitLab Self-Managed
  • Statut : Expérience

{{< /details >}}

Utilisez cette API pour récupérer des détails sur des jetons arbitraires et pour les révoquer. Contrairement à d'autres API qui exposent les informations sur les jetons, cette API vous permet de récupérer des détails ou de révoquer des jetons sans connaître le type spécifique du jeton.

Préfixes de jetons {#token-prefixes}

Lors d'une requête, les jetons personal, project ou group access doivent commencer par glpat ou le préfixe personnalisé actuel. Si le jeton commence par un préfixe personnalisé précédent, l'opération échoue. L'intérêt pour la prise en charge des préfixes personnalisés précédents est suivi dans le ticket 165663.

Prérequis :

  • Vous devez disposer d'un accès administrateur à l'instance.

Récupérer les informations sur un jeton {#retrieve-token-information}

{{< history >}}

{{< /history >}}

Récupère les informations d'un jeton spécifié. Cet endpoint prend en charge les jetons suivants :

plaintext
POST /api/v4/admin/token

Attributs pris en charge :

AttributTypeObligatoireDescription
tokenstringOuiJeton existant à identifier. Les jetons Personal, project ou group access doivent commencer par glpat ou le préfixe personnalisé actuel.

En cas de succès, renvoie 200 et des informations sur le jeton.

Peut renvoyer les codes de statut suivants :

  • 200 OK : Informations sur le jeton.
  • 401 Unauthorized : L'utilisateur n'est pas autorisé.
  • 403 Forbidden : L'utilisateur n'est pas un administrateur.
  • 404 Not Found : Le jeton est introuvable.
  • 422 Unprocessable : Le type de jeton n'est pas pris en charge.

Exemple de requête :

shell
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>"}'

Exemple de réponse :

json
{
 "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
}

Révoquer un jeton {#revoke-a-token}

{{< history >}}

{{< /history >}}

[!flag] La disponibilité de cette fonctionnalité est contrôlée par un feature flag. Pour plus d'informations, consultez l'historique. Cette fonctionnalité est disponible à des fins de test, mais n'est pas prête pour une utilisation en production.

Révoque, réinitialise ou supprime un jeton spécifié en fonction du type de jeton. Cet endpoint prend en charge les types de jetons suivants :

Type de jetonAction prise en charge
Jetons d'accès personnelsRévoquer
Jetons d'emprunt d'identitéRévoquer
Jetons d'accès au projetRévoquer
Jetons d'accès de groupeRévoquer
Jetons de déploiementRévoquer
Jetons d'agent de clusterRévoquer
Jetons de déclenchement de pipelineRévoquer
Jetons de fluxRéinitialiser
Jetons d'authentification de runnerRéinitialiser
Secrets d'application OAuthRéinitialiser
Jetons d'e-mail entrantRéinitialiser
Jetons clients de feature flagRéinitialiser
Cookies de session GitLabSupprimer
plaintext
DELETE /api/v4/admin/token

Attributs pris en charge :

AttributTypeObligatoireDescription
tokenstringOuiJeton existant à révoquer. Les jetons Personal, project ou group access doivent commencer par glpat ou le préfixe personnalisé actuel.

En cas de succès, renvoie 204 sans contenu.

Peut renvoyer les codes de statut suivants :

  • 204 No content : Le jeton a été révoqué.
  • 401 Unauthorized : L'utilisateur n'est pas autorisé.
  • 403 Forbidden : L'utilisateur n'est pas un administrateur.
  • 404 Not Found : Le jeton est introuvable.
  • 422 Unprocessable : Le type de jeton n'est pas pris en charge.

Exemple de requête :

shell
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>"}'