4. Authorization Request (Richiesta di autorizzazione)
4. Authorization Request (Richiesta di autorizzazione)
Il client usa il valore request_uri restituito dal server di autorizzazione per costruire una richiesta di autorizzazione come definito in [RFC9101]. L’esempio seguente mostra il client che chiede all’user agent di effettuare la seguente richiesta HTTP (solo visualizzazione):
GET /authorize?client_id=s6BhdRkqt3&request_uri=urn%3Aietf%3Aparams
%3Aoauth%3Arequest_uri%3A6esc_11ACC5bwc014ltc14eY22c HTTP/1.1
Host: as.example.com
Poiché alcune parti del contenuto, ad es. il valore di code_challenge, sono specifiche di una richiesta, il client NON DEVE usare un valore request_uri più di una volta. I server di autorizzazione DOVREBBERO trattare le request_uri come monouso ma POSSONO consentire duplicati dovuti al ricaricamento dell’user agent. Una request_uri scaduta DEVE essere rifiutata come non valida.
Il server di autorizzazione DEVE validare le richieste di autorizzazione derivate da una richiesta inviata come qualsiasi altra richiesta di autorizzazione. PUÒ omettere passi già eseguiti durante il push se può verificare che si trattava di una richiesta inviata e che la richiesta o la policy non sono state modificate in modo da influire sul risultato dei passi omessi.
La policy del server di autorizzazione PUÒ imporre globalmente o per client che PAR sia l’unico modo di trasmettere i dati della richiesta di autorizzazione. In tal caso il server rifiuta, con codice invalid_request, ogni richiesta all’endpoint di autorizzazione senza parametro request_uri il cui valore provenga dall’endpoint PAR.
Nota: server e client POSSONO usare i metadati delle sezioni 5 e 6 per segnalare il comportamento desiderato.