Passa al contenuto principale

5.2. Passing a Request Object by Reference (Oggetto di richiesta per riferimento)

5.2. Passing a Request Object by Reference (Oggetto di richiesta per riferimento)

Il parametro di richiesta di autorizzazione request_uri consente di trasmettere una richiesta di autorizzazione OAuth per riferimento anziché per valore. L'uso è lo stesso del parametro request, salvo che il valore del Request Object viene recuperato dalla risorsa identificata dall'URI specificata anziché passato per valore.

L'intera Request URI NON DOVREBBE superare 512 caratteri ASCII. La restrizione ha due motivi:

  1. Al momento della stesura, molti telefoni sul mercato non accettano payload molto grandi; il limite è in genere 512 o 1024 caratteri ASCII.

  2. Su collegamenti lenti come 2G, URL grandi rallentano le risposte; dal punto di vista dell'esperienza utente sono indesiderabili.

A meno che l'URI non sia fornita al client dal server di autorizzazione, il contenuto della risorsa referenziata da request_uri DEVE essere un Request Object e il server di autorizzazione DEVE potervi accedere. Nel primo caso, request_uri DEVE essere un URI https come definito in [RFC7230], sezione 2.7.2. Nel secondo caso, DEVE essere un URN come definito in [RFC8141].

Di seguito un esempio di contenuto di risorsa Request Object referenziabile tramite request_uri (interruzioni di riga nei valori solo per la visualizzazione):

eyJhbGciOiJSUzI1NiIsImtpZCI6ImsyYmRjIn0.ewogICAgImlzcyI6ICJzNkJoZF
JrcXQzIiwKICAgICJhdWQiOiAiaHR0cHM6Ly9zZXJ2ZXIuZXhhbXBsZS5jb20iLAog
ICAgInJlc3BvbnNlX3R5cGUiOiAiY29kZSBpZF90b2tlbiIsCiAgICAiY2xpZW50X2
lkIjogInM2QmhkUmtxdDMiLAogICAgInJlZGlyZWN0X3VyaSI6ICJodHRwczovL2Ns
aWVudC5leGFtcGxlLm9yZy9jYiIsCiAgICAic2NvcGUiOiAib3BlbmlkIiwKICAgIC
JzdGF0ZSI6ICJhZjBpZmpzbGRraiIsCiAgICAibm9uY2UiOiAibi0wUzZfV3pBMk1q
IiwKICAgICJtYXhfYWdlIjogODY0MDAKfQ.Nsxa_18VUElVaPjqW_ToI1yrEJ67BgK
b5xsuZRVqzGkfKrOIX7BCx0biSxYGmjK9KJPctH1OC0iQJwXu5YVY-vnW0_PLJb1C2
HG-ztVzcnKZC2gE4i0vgQcpkUOCpW3SEYXnyWnKzuKzqSb1wAZALo5f89B_p6QA6j6
JwBSRvdVsDPdulW8lKxGTbH82czCaQ50rLAg3EYLYaCb4ik4I1zGXE4fvim9FIMs8O
CMmzwIB5S-ujFfzwFjoyuPEV4hJnoVUmXR_W9typPf846lGwA8h9G9oNTIuX8Ft2jf
pnZdFmLg3_wr3Wa5q3a-lfbgF3S9H_8nN3j1i7tLR_5Nz-g

Vedere 5.2.1. URI Referencing the Request Object (URI che referenzia il Request Object), 5.2.2. Request Using the "request_uri" Request Parameter (Richiesta con il parametro request_uri) e 5.2.3. Authorization Server Fetches Request Object (Il server di autorizzazione recupera il Request Object).