GitHub Apps vs. OAuth Apps: Scegli la connessione GitHub giusta
Confronta GitHub Apps e OAuth Apps per l'integrazione con Logto. Scopri le principali differenze in sicurezza, permessi, gestione dei token e scegli il giusto metodo di autenticazione GitHub per la tua applicazione.
RanProduct & Design
Smetti di sprecare settimane sull'autenticazione degli utenti
Lancia app sicure più velocemente con Logto. Integra l'autenticazione degli utenti in pochi minuti e concentrati sul tuo prodotto principale.
Quando integri l'autenticazione GitHub nella tua applicazione Logto, hai due opzioni: GitHub Apps e GitHub OAuth Apps. Sebbene entrambe abilitino la funzionalità "Accedi con GitHub", offrono esperienze fondamentalmente diverse in termini di sicurezza, gestione dei token e accesso alle API. Questa guida ti aiuterà a comprendere le principali differenze e a scegliere l'approccio giusto per il tuo caso d'uso.
Contesto: Due percorsi per l'integrazione con GitHub#
La documentazione attuale di Logto ti guida nella configurazione di una GitHub OAuth App per l'accesso sociale. Questa è l'opzione più semplice e diretta, ideale per esigenze di autenticazione di base. Tuttavia, le GitHub Apps rappresentano l'approccio moderno e consigliato dalla stessa GitHub, offrendo caratteristiche di sicurezza avanzate e un controllo più granulare.
Pensala così: le OAuth Apps sono come dare a qualcuno una chiave maestra della tua casa: ottengono un accesso ampio una volta autorizzati. Le GitHub Apps, invece, sono come un sistema di serrature intelligenti, con codici di accesso specifici per stanze diverse: gli utenti possono concedere permessi precisi in base a ciò di cui la tua app ha bisogno.
OAuth Apps usano scope ampi: richiedere repo concede il controllo completo sul repository.
GitHub Apps usano permessi granulati: puoi richiedere solo "Issues: Lettura" senza toccare il codice. Gli utenti possono anche selezionare repository specifici durante l'installazione, senza concedere accesso globale.
OAuth Apps emettono token che non scadono mai (fino a revoca manuale), senza alcun meccanismo di refresh.
GitHub Apps utilizzano token a breve durata (scadono dopo 1 ora) con supporto per il refresh automatico — molto più sicuri per applicazioni che funzionano a lungo termine.
OAuth Apps agiscono sempre come l'utente che autorizza (es. @octocat) e condividono il suo limite di richieste (5.000 richieste/ora).
GitHub Apps possono agire indipendentemente con una propria identità bot (es. @my-app[bot]) e godere di limiti di richieste scalabili che crescono con l'uso: perfetto per l'automazione.
OAuth Apps richiedono una sola autorizzazione per tutte le risorse accessibili.
GitHub Apps permettono agli utenti di installare l'app, scegliere repository specifici e ricevere notifiche webhook sui cambiamenti di permessi — offrendo maggiore trasparenza e controllo.
Persistenza: Dipendente dagli utenti vs. indipendente#
OAuth Apps sono legate all'utente che autorizza — se quello sviluppatore perde l'accesso o lascia un'organizzazione, l'app smette di funzionare.
GitHub Apps continuano a funzionare anche se lo sviluppatore che ha installato l'app lascia la tua organizzazione — garantendo servizio ininterrotto per automazione e integrazioni.
Sia le GitHub Apps che le OAuth Apps funzionano perfettamente con il connettore sociale di Logto. Il Secret Vault di Logto archivia in modo sicuro i token di entrambe le integrazioni, ma ognuna offre un'esperienza distinta:
Se hai solo bisogno di autenticare utenti (Accedi con GitHub) e non vuoi chiamare in seguito le API di GitHub, la scelta più rapida è la OAuth App:
Configurazione semplice: gli utenti autorizzano la tua OAuth App e accedono tramite GitHub.
I token sono a lunga durata (nessun refresh): Logto può archiviare il token di accesso in Secret Vault, ma non esiste un flusso di refresh — i token rimangono validi fino a revoca.
Ideale quando ti serve solo l'identità dell'utente (email, nome, avatar) e non svolgi lavoro automatico con le API.
Perché scegliere questo: è il modo più veloce da implementare per prototipi o app che richiedono solo il login e sincronizzazione salturaria del profilo.
Scegli una GitHub App quando la tua applicazione ha bisogno di accesso continuo alle API di GitHub, automazione in background o sicurezza più rigorosa:
I permessi granulari e la scelta dei repository per installazione mantengono l'accesso minimo e controllabile.
I token sono a breve durata (tipicamente 1 ora) e le GitHub Apps possono fornire token di refresh; quando abilitato, Logto archivia sia il token di accesso che il refresh token in Secret Vault e gestisce la rotazione affinché il tuo backend continui a funzionare senza bisogno che gli utenti rifacciano il login.
L'identità dell'app (bot) migliora l'attribuzione e i limiti di richieste scalabili la rendono più affidabile per l'automazione massiva.
Ideale per:
Piattaforme SaaS che gestiscono repository GitHub per conto degli utenti
Agenti AI che interagiscono con codice, issue o pull request
Applicazioni che richiedono accesso continuo alle API
Strumenti che svolgono attività automatizzate in background
Configurare una GitHub App segue un modello simile alle OAuth App, con alcune differenze chiave. La migrazione da OAuth App a GitHub App richiede uno sforzo minimo.
La configurazione del connettore Logto è quasi identica:
Inserisci il Client ID della tua GitHub App
Aggiungi il Client secret
Abilita "Salva i token per accesso API persistente" se devi chiamare le API GitHub
Differenza fondamentale - Scope:
A differenza delle OAuth Apps (che richiedono di aggiungere scope nel campo scope di Logto), i permessi delle GitHub App si selezionano nelle impostazioni della GitHub App.
Basta lasciare il campo scope vuoto in Logto
Richiedi refresh token (opzionale)
Aggiungi offline_access al campo scope in Logto per abilitare i token di refresh
GitHub emette automaticamente un token di refresh e Logto gestisce la rotazione e archivia entrambi i token in Secret Vault
Nota: le OAuth Apps non supportano i refresh token — i loro access token non scadono mai, quindi offline_access non si applica. Questo è diverso rispetto all'uso delle GitHub Apps per l'integrazione.
Sebbene le OAuth Apps restino una valida opzione per l'autenticazione di base, le GitHub Apps rappresentano il futuro delle integrazioni con GitHub. Offrono una sicurezza superiore grazie alla scadenza dei token, modelli di permessi più precisi e un maggiore controllo agli utenti sull'accesso.
Per gli utenti Logto, entrambe le opzioni funzionano con il connettore sociale. La scelta dipende dalle tue esigenze specifiche:
Inizia in modo semplice con le OAuth Apps se ti serve solo l'autenticazione
Passa alle GitHub Apps quando hai bisogno di accesso API, automazione o sicurezza avanzata
E ricorda: Secret Vault di Logto e la gestione automatica dei refresh dei token rendono la gestione dei token delle GitHub Apps semplice quanto quella delle OAuth Apps, senza sacrificare la sicurezza. Che tu stia costruendo un assistente di coding AI, una piattaforma di project management o uno strumento di produttività per sviluppatori, ora hai le conoscenze per scegliere l'integrazione GitHub giusta per la tua applicazione Logto.
Pronto per iniziare? Dai un'occhiata al connettore GitHub di Logto per iniziare a integrare l'autenticazione GitHub oggi stesso.