Personal access token GitHub: crealo, usalo con Git, revocalo | We.Inc
Scegli tra fine-grained e classic con un rapido controllo, crea il token, usalo per git via HTTPS, salvalo in un credential helper e gestisci scadenza e revoca.
Un personal access token sostituisce la tua password di GitHub quando git comunica con GitHub via HTTPS o quando uno script chiama l'API. Creane uno in Settings, Developer settings, Personal access tokens, scegli fine-grained a meno che non ti serva una funzionalità classic, e incollalo quando git ti chiede una password.
Token fine-grained e classic a confronto
Fine-grained
Classic
Ambito
Repository scelti con permessi per area
Scope ampi su ogni repository a cui hai accesso
Raccomandazione di GitHub
Da usare di default
Solo quando fine-grained non basta
Repo pubblici di cui non sei membro
Non può contribuire
Può scrivere
Più organizzazioni in un solo token
No
Sì
Packages e Checks API
Non supportati
Supportati
Limite per account
Nessun limite indicato nella documentazione
GitHub ha smesso di accettare le password degli account per git via HTTPS, quindi per clonare un repository privato o fare push da un server serve un token, una chiave SSH o un credential manager. Questa pagina ti aiuta a scegliere il tipo di token, mostra dove crearlo e spiega i modi più sicuri per conservarlo sul tuo computer invece di incollarlo ogni volta.
Rispondi alle domande del controllo per vedere se un token fine-grained copre il tuo caso.
Apri la tua immagine del profilo, poi Settings, Developer settings, Personal access tokens, e scegli il tipo suggerito dal controllo.
Imposta una scadenza, scegli repository e permessi, genera il token e copialo subito; GitHub lo mostra solo al momento della creazione.
Usalo come password per git via HTTPS, o meglio ancora, accedi una volta con la GitHub CLI o con Git Credential Manager così viene salvato per te.
Dai a ogni token un solo compito e il minimo di repository e permessi necessari a quel compito, così una fuga di dati espone il meno possibile.
Imposta sempre una data di scadenza. Un promemoria in calendario prima che scada è meglio di un deploy rotto di venerdì.
Non mettere mai un token in un repository o in un gist. GitHub revoca i token che trova pubblicati in repo pubblici, e in quelli privati resta comunque una fuga.
Per server e CI, preferisci le deploy key o le credenziali a breve durata della piattaforma a un token personale legato al tuo account.
Domande frequenti
Perché git dice che l'autenticazione con password non è supportata?
GitHub non accetta più la password del tuo account per git via HTTPS. Quando git ti chiede una password, incolla invece un personal access token, oppure passa a SSH, alla GitHub CLI o a Git Credential Manager.
Quali permessi servono a un token fine-grained per fare push del codice?
Seleziona i repository, poi nei permessi del repository imposta Contents su lettura e scrittura. Aggiungi altri permessi solo se uno script ne ha bisogno, come Pull requests o Issues.
I personal access token scadono?
Scegli una scadenza quando ne crei uno, e le organizzazioni possono imporre un massimo. Inoltre, GitHub revoca automaticamente un personal access token che non è stato usato per un anno.
Come revoco un token?
Vai in Settings, Developer settings, Personal access tokens, apri il token ed eliminalo. Qualsiasi remote git o script che lo usa smette subito di funzionare, quindi sostituiscilo ovunque fosse salvato.
Meglio un token o SSH?
Entrambi funzionano con git. Le chiavi SSH non scadono mai a meno che tu non le rimuova e sono adatte al tuo computer. I token sono adatti alle reti solo HTTPS, agli script che chiamano anche l'API e ai casi in cui vuoi una scadenza automatica.
Salvare il token invece di incollarlo
Il consiglio di GitHub stesso è lasciare che la GitHub CLI o Git Credential Manager gestiscano l'autenticazione. Esegui gh auth login, scegli HTTPS, e da quel momento i comandi git sono autenticati senza un token negli appunti.
Git Credential Manager è incluso in Git for Windows e si può installare su macOS e Linux. Conserva le credenziali nell'archivio sicuro del sistema e gestisce l'accesso con autenticazione a due fattori tramite il browser.
Le organizzazioni potrebbero dover approvare i token
Un'organizzazione può richiedere l'approvazione per i token fine-grained, limitarli o bloccare quelli classic. Se il tuo token funziona sui repo personali ma non su quelli dell'azienda, chiedi a un owner dell'organizzazione quale sia la policy.
Usare un token con git
Accedi una volta con la GitHub CLI
Scegli GitHub.com, poi HTTPS, poi accedi tramite il browser. La CLI configura git per usare la credenziale salvata.
Incolla il token quando git chiede una password
Scrivi il tuo nome utente GitHub, poi incolla il token come password. Un credential helper può salvarlo in seguito.
Usare un token in uno script senza salvarlo su disco
Leggi il token da una variabile d'ambiente così non compare mai nel file dello script né nell'URL del remote del repository.
Contribuire a un repository pubblico di cui non sono membro
Lavorare sui repo di un'organizzazione come collaboratore esterno
Accedere a repository di più organizzazioni con un solo token
Usare GitHub Packages
Usare la Checks API
Di quale tipo di token ho bisogno?
Spunta tutto ciò che il token deve poter fare:
Un token fine-grained copre questo caso. GitHub lo consiglia come scelta predefinita.
Ti serve un token classic per: {v}. Dagli gli scope più ristretti e una scadenza.
Dove crearlo
Settings > Developer settings > Personal access tokens > Fine-grained tokens > Generate new token
Settings > Developer settings > Personal access tokens > Tokens (classic) > Generate new token