Quand un jeton a expiré ou a été révoqué, il ne peut plus être utilisé pour authentifier les requêtes Git et les requêtes d’API. Il n’est pas possible de restaurer un jeton révoqué ou qui a expiré. Un autre jeton devra être créé par l’application ou par vous-même.
Cet article explique les raisons possibles pour lesquelles votre jeton GitHub a été révoqué ou a expiré.
Note
Quand un personal access token ou un jeton OAuth expire ou est révoqué, vous pouvez voir une action oauth_authorization.destroy
dans votre journal de sécurité. Pour plus d’informations, consultez « Examen de votre journal de sécurité ».
Jeton révoqué après avoir atteint sa date d’expiration
Quand vous créez un personal access token, nous vous recommandons de définir une date d’expiration pour ce jeton. Quand la date d’expiration de votre jeton est atteinte, il est automatiquement révoqué. Pour plus d’informations, consultez « Gestion de vos jetons d'accès personnels ».
Jeton révoqué quand il est poussé (push) sur un dépôt ou un Gist public
Si un jeton OAuth valide, un jeton d’GitHub App ou un personal access token est poussé vers un dépôt public ou un Gist public, le jeton est automatiquement révoqué.
Le jeton a expiré car il n’est pas suffisamment utilisé
GitHub révoque automatiquement un jeton OAuth ou un personal access token quand le jeton n’a pas été utilisé depuis un an.
Jeton révoqué par l’utilisateur
Vous pouvez révoquer votre autorisation d’une GitHub App ou d’une OAuth app à partir de vos paramètres de compte, ce qui révoque tous les jetons associés à l’application. Pour plus d’informations, consultez « Examen et révocation de l’autorisation donnée aux applications GitHub » et « Examen de vos applications autorisées OAuth ».
Quand une autorisation est révoquée, tous les jetons associés à l’autorisation sont également révoqués. Pour réautoriser une application, suivez les instructions de l’application ou du site web de tiers afin de reconnecter votre compte sur GitHub.
Jeton révoqué par un tiers
Pour empêcher tout accès non autorisé à l’aide de jetons exposés, GitHub recommande la révocation des jetons afin de garantir qu’un jeton ne puisse plus être utilisé pour s’authentifier auprès de GitHub. Si vous constatez que le personal access token d’un autre utilisateur a été divulgué sur GitHub ou ailleurs, vous pouvez envoyer une demande de révocation via l’API REST. Consultez Révocation.
Si un personal access token valide est soumis à l’API de révocation des informations d’identification de GitHub, le jeton sera automatiquement révoqué. Cette API permet à un tiers de révoquer un jeton dont il n’est pas propriétaire et contribue à protéger les données associées à ce jeton contre tout accès non autorisé, limitant ainsi l’impact des jetons exposés.
Afin d’encourager les signalements et de garantir que les jetons exposés puissent être rapidement et facilement révoqués, nous n’exigeons pas d’authentification pour les demandes de révocation soumises via l’API. Par conséquent, GitHub n’est pas en mesure de fournir davantage d’informations sur la source du jeton signalé.
Jeton révoqué par l’OAuth app
Le propriétaire d’une OAuth app peut révoquer l’autorisation d’un compte de son application, ce qui révoque également tous les jetons associés à l’autorisation. Pour plus d’informations sur la révocation des autorisations de votre OAuth app, consultez Points de terminaison d’API REST pour les autorisations OAuth.
Des propriétaires OAuth app peuvent également révoquer des jetons individuels associés à une autorisation. Pour plus d’informations sur la révocation des jetons individuels de votre OAuth app, consultez Points de terminaison d’API REST pour les autorisations OAuth.
Jeton révoqué en raison d’un excès de jetons pour une OAuth app avec la même étendue
Le nombre de jetons émis par combinaison utilisateur/application/étendue est limité à dix, avec une limite de taux de dix jetons créés par heure. Si une application crée plus de 10 jetons pour le même utilisateur et les mêmes étendues, les jetons les plus anciens avec la même combinaison utilisateur/application/étendue seront révoqués. Toutefois, le fait d'atteindre la limite de débit horaire ne va pas révoquer votre jeton le plus ancien. Au lieu de cela, il déclenche une invite de ré-autorisation dans le navigateur, demandant à l’utilisateur de doubler vérifier les autorisations qu’il accorde à votre application. Cette invite est destinée à donner une pause à toute boucle infinie potentielle dans laquelle l’application est bloquée, car il n’y a pas de raison pour une application de demander dix jetons à l’utilisateur dans un délai d’une heure.
Jeton utilisateur expiré en raison de la configuration d’une GitHub App
Les jetons d’accès utilisateur créés par un GitHub App expirent après huit heures par défaut et doivent être régénérés à l’aide du jeton d’actualisation inclus. Les propriétaires de GitHub Apps peuvent éventuellement configurer ces jetons pour ne jamais expirer à la place, mais cela n’est pas recommandé en raison des implications en termes de sécurité. Pour plus d’informations sur la configuration des jetons d’accès utilisateur de votre GitHub App, consultez Activation de fonctionnalités facultatives pour les applications GitHub.