Passa al contenuto principale

6. Richiesta di Token (Token Request)

Il parametro di richiesta di token authorization_details può essere utilizzato per specificare i dettagli di autorizzazione che un client desidera che l'AS assegni a un token di accesso. L'AS verifica se la concessione sottostante (nel caso di tipi di concessione authorization_code, refresh_token, ecc.) o la politica del client (nel caso del tipo di concessione client_credentials) consente l'emissione di un token di accesso con i dettagli di autorizzazione richiesti. Altrimenti, l'AS rifiuta la richiesta con il codice di errore invalid_authorization_details (simile a invalid_scope).

6.1. Confronto dei Dettagli di Autorizzazione (Comparing Authorization Details)

Molte azioni nel protocollo OAuth consentono all'AS e all'RS di prendere decisioni di sicurezza in base al fatto che la richiesta stia chiedendo "più" o "meno" di una richiesta precedente esistente. Ad esempio, al momento dell'aggiornamento di un token, il client può richiedere un nuovo token di accesso con "meno permessi" di quanto era stato precedentemente autorizzato dal proprietario della risorsa. Il token di accesso richiesto trasmetterà i permessi ridotti, ma l'autorizzazione precedente del proprietario della risorsa non viene modificata da tali richieste.

Poiché la semantica dei campi in authorization_details sarà specifica dell'implementazione per una data API o insieme di API, non esiste un meccanismo standardizzato per confrontare due richieste di dettagli di autorizzazione arbitrarie. Un AS non dovrebbe fare affidamento su un semplice confronto di oggetti nella maggior parte dei casi, poiché l'intersezione di alcuni campi all'interno di una richiesta potrebbe avere effetti collaterali sui diritti di accesso concessi, a seconda di come l'API è stata progettata e distribuita. Questo è un effetto simile ai valori di scope utilizzati con alcune API.

Quando si confronta una nuova richiesta con una richiesta esistente, un AS può utilizzare le stesse tecniche di elaborazione utilizzate nel concedere la richiesta in primo luogo per determinare se un proprietario di risorsa deve autorizzare la richiesta. I dettagli di questo confronto dipendono dalla definizione del tipo di richiesta di autorizzazione e sono al di fuori dell'ambito di questa specifica, ma è possibile applicare modelli comuni.