GitHub CLI : vérifier la durée de vie des copies de jetons OAuth

Dev
Vues 5

La CLI reste connectée, mais un script démarré la veille échoue. Il détient peut-être une ancienne copie du jeton. L’annonce GitHub du 21 octobre 2026 incite à cartographier le parcours des identifiants avant de répéter la connexion.

Schéma de contrôle : renouvellement CLI, copie externe et utilisation séparés. Ni capture du produit ni benchmark.
Schéma de contrôle : renouvellement CLI, copie externe et utilisation séparés. Ni capture du produit ni benchmark.

Changement confirmé : une activation volontaire

À partir de v2.103.0, gh auth login --expiring demande des identifiants renouvelables. gh conserve un jeton d’accès expirant et un jeton de renouvellement tournant. Les connexions existantes et jetons manuels gardent leur comportement. github.com, ghe.com et GHES 3.23 ou ultérieur sont pris en charge ; ailleurs, un jeton sans expiration peut être émis. Vérifiez l’état avec gh auth status.

Une chaîne copiée ne se renouvelle pas seule

GitHub signale les scripts qui capturent gh auth token une seule fois puis réutilisent sa valeur. Les consommateurs externes doivent la récupérer au besoin. Une lecture réussie au démarrage ne prouve pas la validité ultérieure. Un jeton de renouvellement compromis reste dangereux ; une durée courte ne remplace ni droits minimaux ni révocation.

Une séquence de contrôle proposée

Inventoriez version, hôte et outils qui copient les jetons dans des fichiers, variables ou extensions. Notez les responsables et moments de récupération, sans collecter de secrets. En environnement de test, comparez la même lecture au début puis plus tard. Distinguez expiration, permissions et réseau. Pour git en HTTPS, examinez gh auth setup-git et la recommandation de git 2.46 minimum. Faites examiner séparément les changements.

Certains parcours doivent attendre

GitHub conseille de différer cette option si une intégration exige un jeton durable. Attribuez un responsable et une échéance de réexamen. Ne confondez pas OAuth de développeur et GITHUB_TOKEN de CI. Un indicateur ne normalise pas toutes les permissions et révocations. Vérifiez le support de la version utilisée.

“Rester connecté” laisse deux questions : le gestionnaire peut-il renouveler, et le consommateur reçoit-il la nouvelle valeur ? Aucune fréquence d’incident communautaire n’est mesurée ici. Dessiner un parcours réel clarifie le propriétaire du cache et le périmètre d’un essai.

Sources officielles et contrôles

GitHub Changelog · Expiring OAuth preview

GitHub Docs · CLI authentication

Consignez version, hôte, propriétaire du cache et résultats sans valeurs secrètes.