Trace Id is missing
Passa a contenuti principali
Microsoft Security

Che cos'è OAuth?

Informazioni su OAuth e su come viene usato per autorizzare l'accesso tra app e servizi senza compromettere le informazioni sensibili.

Spiegazione di OAuth

OAuth è uno standard tecnologico che consente di autorizzare un'app o un servizio ad accedere a un altro senza divulgare informazioni private, ad esempio le password. Quando si riceve un messaggio del tipo: “Accedere con Facebook?” o “Consentire a questa applicazione di accedere al tuo account?” è OAuth in azione.

OAuth è l'acronimo di Open Authorization e non di autenticazione, come si potrebbe pensare. L'autenticazione è un processo che verifica l'identità dell'utente. OAuth riguarda l'identità dell'utente, ma il suo scopo è quello di concedere l'autorizzazione a connettersi facilmente con diverse app e servizi senza richiedere la creazione di un nuovo account. OAuth offre la semplicità di questa esperienza dando la possibilità di autorizzare due app a condividere alcuni dati senza rivelare le credenziali dell'utente. È in grado di garantire un equilibrio tra praticità e sicurezza.

OAuth è progettato per funzionare con Hypertext Transfer Protocol (HTTP). Usa i token di accesso per dimostrare l'identità dell'utente e consentirgli di interagire con un altro servizio per conto dell'utente. Nel caso in cui questo secondo servizio subisca una violazione dei dati, le credenziali del primo servizio rimarranno al sicuro. OAuth è un protocollo standard aperto ampiamente adottato e la maggior parte degli sviluppatori di siti Web e app lo utilizza.

È importante notare che OAuth non garantisce a un'app o a un servizio di terze parti l'accesso illimitato ai dati dell'utente. Parte del protocollo consiste nello specificare a quali dati la terza parte è autorizzata ad accedere e cosa può fare con tali dati. La definizione di tali limitazioni, e la protezione delle identità in generale, sono particolarmente critiche negli scenari aziendali in cui molte persone hanno accesso a una grande quantità di informazioni sensibili e proprietarie.


 

Come funziona OAuth?

I token di accesso rendono sicuro l'uso di OAuth. Un token di accesso è una porzione di dati che contiene informazioni sull'utente e sulla risorsa a cui il token è destinato. Un token includerà anche regole specifiche per la condivisione dei dati.

Ad esempio, si potrebbero voler condividere delle foto del proprio profilo social media con un'app di editing fotografico, ma limitare l'accesso solo ad alcune foto. Non deve inoltre accedere ai messaggi diretti o all'elenco amici. Il token autorizza l'accesso solo ai dati approvati dall'utente. Potrebbero anche essere previste regole che disciplinano quando l'applicazione può usare tale token - per un singolo utilizzo o per usi ricorrenti - e una data di scadenza.

Il processo OAuth è per lo più un'interazione da computer a computer con pochi punti di contatto per l'utente. In alcuni scenari potrebbe non essere necessario fornire la propria approvazione, perché viene gestita automaticamente in background dal software. Due esempi di OAuth potrebbero riguardare uno scenario aziendale, in cui una piattaforma di identità gestisce le connessioni tra le risorse per ridurre i problemi IT di un gran numero di utenti, o nelle interazioni tra alcuni dispositivi intelligenti.


 

Esempi di tecnologia OAuth

Come molte tecnologie che semplificano qualcosa di noioso - in questo caso, la creazione manuale di account in più app - OAuth è stato adottato quasi universalmente dai creatori di app. Offre un'ampia gamma di casi d'uso per le persone e le aziende.

Per fare un esempio di OAuth, si supponga di usare Microsoft Teams come strumento di collaborazione e di voler accedere a più informazioni sulle persone con cui si lavora, sia all'interno che all'esterno dell'organizzazione. L'utente decide di abilitare l'integrazione con LinkedIn per conoscere meglio le persone mentre interagisce con loro, senza uscire da Teams. Microsoft e LinkedIn userebbero quindi OAuth per autorizzare il collegamento dei propri account con l'identità Microsoft.

Un altro scenario che prevede l'uso di OAuth è quello di scaricare un'app per la gestione del budget per tenere traccia delle spese con avvisi e strumenti visivi, come i grafici. Per svolgere il suo lavoro, l'app deve accedere ad alcuni dati bancari. È possibile avviare una richiesta di collegamento del conto bancario all'app, autorizzando solo l'accesso al saldo e alle transazioni del conto. L'app e la banca userebbero OAuth per effettuare questo scambio di informazioni per conto dell'utente senza rivelare le credenziali di accesso della banca all'app.

Un altro esempio di OAuth potrebbe essere quello di uno sviluppatore che usa GitHub e che viene a sapere che esiste un'app di terze parti in grado di integrarsi con l'account dell'utente per eseguire revisioni automatizzate del codice. Si passa a GitHub Marketplace e si scarica l'app. A questo punto verrà richiesto di autorizzare la connessione con l'app usando l'identità di GitHub, un processo che verrà gestito tramite OAuth. L'app di revisione potrebbe quindi accedere al codice senza che si debba accedere ogni volta a entrambi i servizi.

Qual è la differenza tra OAuth 1.0 e OAuth 2.0?

L'OAuth 1.0 originale è stato sviluppato solo per i siti Web. Attualmente non è molto usato perché OAuth 2.0 è stato progettato sia per le app che per i siti Web, oltre a essere più veloce e più facile da implementare. OAuth 1.0 non è scalabile come OAuth 2.0 e prevede solo tre possibili flussi di autorizzazione, rispetto ai sei di OAuth 2.0.

Se si prevede di usare OAuth, è consigliabile utilizzare la versione 2.0 fin dall'inizio. Purtroppo, OAuth 1.0 non può essere aggiornato a OAuth 2.0. OAuth 2.0 è stato creato per essere una riprogettazione radicale di OAuth 1.0 e diverse grandi aziende tecnologiche hanno contribuito alla sua progettazione con il loro feedback. Un sito Web può supportare sia OAuth 1.0 che OAuth 2.0, ma nelle intenzioni degli autori la versione 2.0 avrebbe dovuto sostituire completamente la versione 1.0.

Confronto tra OAuth e OIDC

OAuth e Open ID Connect (OIDC) sono protocolli strettamente correlati. Sono simili in quanto entrambi svolgono un ruolo nel consentire a un'applicazione di accedere alle risorse di un'altra applicazione per conto dell'utente. La differenza è che mentre OAuth viene usato per l'autorizzazione ad accedere alle risorse, OIDC viene usato per l'autenticazione dell'identità di una persona. Entrambi hanno un ruolo da svolgere nel consentire a due app non correlate di condividere informazioni senza compromettere i dati degli utenti.

I provider di identità usano in genere OAuth 2.0 e OIDC insieme. OIDC è stato sviluppato specificamente per migliorare le funzionalità di OAuth 2.0 aggiungendo un livello di identità. Poiché è basato su OAuth 2.0, OIDC non è compatibile con le versioni precedenti di OAuth 1.0.

 

Introduzione a OAuth

L'uso di OAuth 2.0 con i propri siti Web e le app può migliorare notevolmente l'esperienza degli utenti o dei dipendenti, semplificando il processo di autenticazione dell'identità. Per iniziare, investire in una soluzione di provider di identità, ad esempio Microsoft Entra, che protegge gli utenti e i dati con una sicurezza integrata

Microsoft Entra ID (in precedenza Azure Active Directory) supporta tutti i flussi OAuth 2.0. Gli sviluppatori di app possono usare ID come provider di autenticazione basato su standard per aiutarli a integrare nelle app le funzionalità di identità moderne e di livello aziendale. Gli amministratori IT possono usarlo per controllare gli accessi.

Scopri di più su Microsoft Security

  • Esplora Microsoft Entra

    Proteggi le identità e proteggi l'accesso nei cloud con una famiglia olistica di soluzioni.

  • Microsoft Entra ID (in precedenza Azure Active Directory)

    Proteggi l'accesso alle risorse e ai dati utilizzando un'autenticazione forte e accesso adattivo basato sul rischio.

  • Crea fiducia nelle tue app

    Implementare l'accesso SSO in modo che i dipendenti possano accedere a tutte le risorse necessarie con un'unica credenziale.

  • Semplifica le esperienze di accesso

    Implementare l'accedere SSO in modo che i dipendenti possano accedere a tutte le risorse necessarie con un'unica credenziale.

  • Protezione contro gli attacchi

    Usare l'autenticazione a più fattori per migliorare la protezione delle risorse dell'organizzazione.

  • Usare OAuth per semplificare l'accesso ai dati della posta elettronica

    Informazioni su come autenticare le connessioni alle applicazioni che usano protocolli legacy.

 

 

Domande frequenti

  • OAuth è l'acronimo di Open Authorization ed è uno standard tecnologico che consente di autorizzare un'app o un servizio ad accedere a   senza divulgare informazioni private, ad esempio le password. Quando un'app chiede l'autorizzazione per visualizzare le informazioni del profilo, usa OAuth.

  • OAuth funziona attraverso lo scambio di token di accesso, ovvero di dati che contengono informazioni sull'utente e sulla risorsa a cui è destinato il token. Un'app o un sito Web scambia informazioni crittografate con un altro utente e include regole specifiche per la condivisione dei dati. Possono essere presenti anche regole che stabiliscono quando l'applicazione può usare il token e una data di scadenza. Il processo OAuth è per lo più un'interazione da computer a computer, con pochi punti di contatto per l'utente, se presenti

  • Molte aziende usano OAuth per semplificare l'accesso ad app e siti Web di terze parti senza divulgare le password o i dati sensibili degli utenti. Google, Amazon, Microsoft, Facebook e Twitter lo usano per condividere informazioni sui loro account per un'ampia gamma di scopi, tra cui la semplificazione degli acquisti. Microsoft Identity Platform usa OAuth per autorizzare le autorizzazioni per gli account aziendali e dell'istituto di istruzione, degli account personali, degli account di social networking e degli account di gioco.

  • OAuth e Open ID Connect (OIDC) sono protocolli strettamente correlati. Sono simili in quanto entrambi svolgono un ruolo nel consentire a un'applicazione di accedere alle risorse di un'altra applicazione per conto dell'utente. La differenza è che mentre OAuth viene usato per l'autorizzazione all'accesso alle risorse, OIDC viene usato per l'autenticazione dell'identità di una persona. Entrambi svolgono un ruolo che consente a due app non correlate di condividere informazioni senza compromettere i dati dell'utente.

  • Esistono molte differenze tra OAuth 1.0 e OAuth 2.0 perché OAuth 2.0 è stato progettato per essere una riprogettazione radicale di OAuth 1.0, rendendolo quasi obsoleto. OAuth 1.0 è stato sviluppato solo per i siti Web, mentre OAuth 2.0 è stato progettato sia per le app che per i siti Web. OAuth 2.0 è più veloce e più facile da implementare, può essere ridimensionato e ha sei possibili flussi di autorizzazione rispetto ai tre di OAuth 1.0.

Segui Microsoft 365