GitHub CLI: controllare la durata delle copie dei token OAuth
La CLI è ancora autenticata, ma uno script avviato ieri fallisce. Potrebbe conservare una vecchia copia del token. L’annuncio GitHub del 21 ottobre 2026 invita a ricostruire anzitutto il percorso delle credenziali.

Cambiamento confermato: adesione volontaria
Dalla v2.103.0, gh auth login --expiring richiede credenziali rinnovabili. gh conserva un access token a scadenza e un refresh token a rotazione. Accessi esistenti e token manuali mantengono il comportamento precedente. Sono supportati github.com, ghe.com e GHES dalla 3.23; altri server possono emettere token senza scadenza. Controllare lo stato con gh auth status.
Una stringa copiata non si rinnova da sola
GitHub avverte che gli script che leggono gh auth token una sola volta possono riutilizzare un valore scaduto. I consumatori esterni devono acquisirlo quando serve. Un successo iniziale non dimostra validità successiva. Anche un refresh token compromesso resta un rischio; una durata breve non sostituisce privilegi minimi e revoca.
Una sequenza di verifica proposta
Inventariare versione, host e strumenti che copiano token in file, variabili o estensioni. Registrare proprietario e momento di lettura senza raccogliere segreti. In test confrontare la stessa lettura subito e più tardi. Distinguere scadenza, permessi e rete. Per git HTTPS esaminare gh auth setup-git e la raccomandazione di git 2.46 o successivo. Valutare separatamente le modifiche effettive.
Quando conviene rimandare
Per un’integrazione dipendente da token duraturi, anche GitHub suggerisce di rinviare l’adesione in quel flusso. Assegnare responsabile e data di revisione. Non equiparare OAuth dello sviluppatore e GITHUB_TOKEN di CI. Un’opzione non uniforma permessi e revoche di ogni automazione. Verificare il supporto della versione installata.
“Restare connessi” nasconde due domande: il gestore può rinnovare e il consumatore riceve il nuovo valore? Non misuriamo tassi di guasto della comunità. Disegnare un percorso reale rende visibili il proprietario della cache e il perimetro del test.
Fonti ufficiali e verifiche
GitHub Changelog · Expiring OAuth preview
GitHub Docs · CLI authentication
Annotare versione, host, responsabilità della cache e risultati senza valori segreti.