Logo Logo
GitHub Designed by Logto

Che cos’è una richiesta di autorizzazione (authorization request)?

A seconda del contesto, il termine “richiesta di autorizzazione” (authorization request) può riferirsi a cose diverse. In questo articolo, ci concentreremo sulla definizione nella specifica OAuth 2.0 .

In OAuth 2.0, ci sono diversi tipi di concessione (flussi) che definiscono come un Client può ottenere l’autorizzazione da un utente per accedere a risorse protette.

![Nota] Le “richieste di autorizzazione” (authorization requests) sono spesso confuse con le “richieste di autenticazione” (authentication requests) nel contesto di OpenID Connect (OIDC) . Vedi Richiesta di autenticazione (Authentication request) per i dettagli specifici di OIDC.

Come funziona una richiesta di autorizzazione (authorization request)?

Quando un client (applicazione) vuole accedere a risorse protette per conto di un utente, avvia una richiesta di autorizzazione al Server di autorizzazione . Il client dovrebbe indicare il tipo di concessione richiesto insieme ai parametri necessari nella richiesta.

Ecco alcuni tipi di concessione (flussi) tipici per l’autorizzazione degli utenti finali in OAuth 2.0:

Ci sono anche altre estensioni, come il Flusso del dispositivo per dispositivi con capacità di input limitate. Ogni flusso ha le proprie caratteristiche e casi d’uso. Per la maggior parte delle applicazioni web, il flusso del codice di autorizzazione è la scelta raccomandata.

L’autorizzazione Comunicazione machine-to-machine è tipicamente eseguita utilizzando il Flusso delle credenziali del client (Client credentials flow) che non coinvolge l’interazione dell’utente.

Ad esempio, un client (applicazione) può richiedere l’autorizzazione per accedere ai file di Google Drive di un utente. Ecco un diagramma di sequenza semplificato del flusso del codice di autorizzazione:

Una volta ottenuto l’ Token di accesso (Access token) , il client può usarlo per accedere ai file di Google Drive dell’utente per conto dell’utente.

Parametri chiave in una richiesta di autorizzazione (authorization request)

La richiesta di autorizzazione OAuth 2.0 include tipicamente i seguenti parametri:

  • response_type: Il tipo di risposta che il client si aspetta. I valori comuni sono code per il flusso del codice di autorizzazione e token per il flusso implicito.
  • client_id: L’identificatore del client emesso dal server di autorizzazione.
  • redirect_uri: L’URI dove il server di autorizzazione invia l’utente dopo il processo di autorizzazione.
  • scope: Gli scope (permessi) richiesti per l’access token.
  • resource: Il parametro opzionale che specifica il Indicatore di risorsa per le risorse richieste. Il server di autorizzazione deve supportare RFC 8707 per utilizzare questo parametro.

I parametri sopra elencati non sono esaustivi. I parametri effettivi e i loro valori dipendono dal tipo di concessione e dai requisiti specifici dell’applicazione.

Vedi anche