Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Actualisation des jetons d’accès utilisateur à serveur

Pour appliquer une rotation régulière des jetons et réduire l’impact d’un jeton compromis, vous pouvez configurer votre GitHub App afin d’utiliser des jetons d’accès utilisateur ayant un délai d’expiration.

Remarque : la fonctionnalité d’expiration des jetons d’accès utilisateur est actuellement facultative et peut être modifiée. Pour activer ou désactiver la fonctionnalité d’expiration des jetons d’accès utilisateur à serveur, consultez « Activation des fonctionnalités facultatives pour les applications ». Pour plus d’informations, consultez « Expiration des jetons d’accès utilisateur à serveur pour les applications GitHub ».

À propos des jetons d’accès utilisateur ayant un délai d’expiration

Pour appliquer une rotation régulière des jetons et réduire l’impact d’un jeton compromis, vous pouvez configurer votre GitHub App afin d’utiliser des jetons d’accès utilisateur ayant un délai d’expiration. Pour plus d’informations sur l’envoi de requêtes utilisateur à serveur, consultez « Identification et autorisation des utilisateurs pour les applications GitHub ».

Les jetons utilisateur ayant un délai d’expiration expirent au bout de 8 heures. Quand vous recevez un nouveau jeton d’accès utilisateur à serveur, la réponse contient également un jeton d’actualisation, qui peut être échangé contre un nouveau jeton utilisateur et un jeton d’actualisation. Les jetons d’actualisation sont valides pendant 6 mois.

Renouvellement d’un jeton d’utilisateur avec un jeton d’actualisation

Pour renouveler un jeton d’accès utilisateur à serveur ayant un délai d’expiration, vous pouvez échanger refresh_token contre un nouveau jeton d’accès et refresh_token.

POST https://github.com/login/oauth/access_token

Cette demande de rappel vous envoie un nouveau jeton d’accès et un nouveau jeton d’actualisation. Cette demande de rappel est similaire à la requête OAuth que vous utilisez pour échanger un code temporaire contre un jeton d’accès. Pour plus d’informations, consultez « Identification et autorisation des utilisateurs pour les applications GitHub » et « Informations de base sur l’authentification ».

Paramètres

NomTypeDescription
refresh_tokenstringObligatoire. Jeton généré quand le propriétaire de l’GitHub App active les jetons ayant un délai d’expiration et émet un nouveau jeton d’accès utilisateur.
grant_typestringObligatoire. La valeur doit être refresh_token (imposée par la spécification OAuth).
client_idstringObligatoire. ID client de votre GitHub App.
client_secretstringObligatoire. Secret client de votre GitHub App.

response

{
  "access_token": "ghu_16C7e42F292c6912E7710c838347Ae178B4a",
  "expires_in": "28800",
  "refresh_token": "ghr_1B4a2e77838347a7E420ce178F2E7c6912E169246c34E1ccbF66C46812d16D5B1A9Dc86A1498",
  "refresh_token_expires_in": "15811200",
  "scope": "",
  "token_type": "bearer"
}

Configuration de jetons utilisateur ayant un délai d’expiration pour une application GitHub existante

Vous pouvez activer ou désactiver les jetons d’autorisation utilisateur à serveur ayant un délai d’expiration à partir des paramètres de votre GitHub App.

  1. Dans le coin supérieur droit d’une page, cliquez sur votre photo de profil, puis sur Paramètres.

    Icône Paramètres dans la barre de l’utilisateur

  2. Dans la barre latérale gauche, cliquez sur Paramètres de développeur.

  3. Dans la barre latérale gauche, cliquez sur GitHub Apps. Section GitHub Apps

  4. Cliquez sur Modifier à côté de l’GitHub App de votre choix. Paramètres de modification d’une application GitHub

  5. Dans la barre latérale gauche, cliquez sur Fonctionnalités facultatives. Onglet Fonctionnalités facultatives

  6. À côté de « Expiration du jeton utilisateur à serveur », cliquez sur Accepter ou Refuser. L’application de ce paramètre peut prendre quelques secondes.

Refus des jetons ayant un délai d’expiration pour les nouvelles applications GitHub

Quand vous créez une GitHub App, votre application utilise par défaut des jetons d’accès utilisateur à serveur ayant un délai d’expiration.

Si vous souhaitez que votre application utilise des jetons d’accès utilisateur à serveur n’ayant pas de délai d’expiration, désélectionnez « Faire expirer les jetons d’autorisation utilisateur » dans la page des paramètres de l’application.

Option permettant d’accepter les jetons utilisateur ayant un délai d’expiration durant la configuration des applications GitHub

Les GitHub Apps qui utilisent des jetons d’autorisation utilisateur à serveur sont uniquement affectées par ce nouveau flux quand le propriétaire de l’application active les jetons utilisateur ayant un délai d’expiration pour son application.

L’activation des jetons utilisateur ayant un délai d’expiration pour les GitHub Apps nécessite le passage des utilisateurs par le flux OAuth afin de permettre la réémission de nouveaux jetons utilisateur expirant après un délai de 8 heures. Il est également nécessaire d’envoyer une requête avec le jeton d’actualisation pour obtenir un nouveau jeton d’accès et un nouveau jeton d’actualisation. Pour plus d’informations, consultez « Identification et autorisation des utilisateurs pour les applications GitHub ».

Pour aller plus loin