Cos'è OAuth?
OAuth 2.0 è un framework di autorizzazione aperto che consente a un'applicazione di terze parti di ottenere accesso limitato alle risorse di un utente su un altro servizio — come il suo profilo o i suoi dati — senza che l'utente debba condividere la propria password con la terza parte.
Noto anche come: OAuth 2.0, OAuth2, open authorization
OAuth risolve un problema specifico: come puoi concedere a un'applicazione l'accesso ai tuoi dati su un altro servizio senza darle la tua password? Prima di OAuth, la risposta era spesso consegnare direttamente le credenziali — una pratica che concedeva accesso illimitato senza possibilità di revoca selettiva. OAuth introduce il concetto di autorizzazione delegata tramite access token con scope e durata limitati.
Il flusso OAuth 2.0 coinvolge quattro parti: il resource owner (l'utente), il client (l'applicazione di terze parti), l'authorization server (che emette i token) e il resource server (che ospita i dati dell'utente). L'utente si autentica presso l'authorization server, concede permessi specifici al client, e il client riceve un access token. Questo token viene usato per accedere alle risorse dell'utente senza che il client veda mai la password dell'utente.
OAuth 2.0 definisce diversi grant type per scenari differenti: authorization code flow (per applicazioni server-side), authorization code flow con PKCE (per client pubblici come app mobile e single-page application), client credentials (per la comunicazione machine-to-machine) e device code flow (per dispositivi con input limitato). Il framework viene esteso da OpenID Connect (OIDC), che aggiunge uno strato di identità standardizzato per l'autenticazione sopra le capacità di autorizzazione di OAuth.
Come Vaulted usa OAuth
Vaulted non implementa OAuth perché non ha account utente, nessuna integrazione con terze parti e nessuna necessità di autorizzazione delegata. Tuttavia, i token OAuth sono un tipo comune di credenziale sensibile che le persone devono condividere in modo sicuro — ad esempio, condividere il client secret di un account di servizio con un team di deployment. Vaulted fornisce un canale sicuro per trasmettere questi token senza esporli in messaggi Slack, email o sistemi di ticketing dove persisterebbero indefinitamente.