Comincia un accesso
L'endpoint di autorizzazione. Controlla l'app e il suo redirect URI, tiene la richiesta 30 minuti e mostra la pagina di consenso, dove firma la chiave di dispositivo della persona.
/oidc/authorize- Accesso
- Accesso pubblico
- Client
- Client locale o server
Parametri#
| Nome | Posizione | Significato |
|---|---|---|
response_typeObbligatorio | Query | code. |
client_idObbligatorio | Query | Il client_id dell'app. |
redirect_uriObbligatorio | Query | Esattamente uno di quelli registrati (un URI di loopback con qualunque porta). |
scopeObbligatorio | Query | openid, e qualunque tra profile veil veil:accounts veil:orgs veil:keys. |
code_challengeObbligatorio | Query | BASE64URL(SHA-256(code_verifier)), 43 caratteri. |
code_challenge_methodObbligatorio | Query | S256. |
state | Query | Fino a 1024 caratteri; torna com'è, e il suo SHA-256 sta nel consenso firmato. |
nonce | Query | Fino a 512 caratteri; nel consenso firmato e nel token ID. |
prompt | Query | none, o qualunque tra login consent select_account. |
ui_locales | Query | it mostra la pagina in italiano. |
Esempi di richiesta#
curl -fsS 'https://veil.rip/oidc/authorize?response_type=code&client_id=veil_app_0123456789abcdef0123456789abcdef&redirect_uri=https%3A%2F%2Fapp.example.org%2Fcallback&scope=openid%20profile%20veil&state=af0ifjsldkj&nonce=n-0S6_WzA2Mj&code_challenge=E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM&code_challenge_method=S256'Risposta#
La pagina di consenso (HTML). Dopo la firma il browser va a redirect_uri con code, state e iss.
Intestazioni della risposta#
| Intestazione | Valore | Significato |
|---|---|---|
Cache-Control | no-store | La pagina porta un id di richiesta. |
Cosa verificare#
Al redirect URI controlla state, poi che iss sia https://veil.rip, prima di scambiare il codice.
Note d’uso#
- Un'app sconosciuta o un redirect URI non registrato si rifiutano sulla pagina, senza mai mandarci il browser. Ogni altro errore torna all'app come error= con state e iss.
- Errori che tornano all'app: invalid_request, invalid_scope, unsupported_response_type, request_not_supported, request_uri_not_supported, access_denied, login_required, consent_required.
Errori#
Il callback OAuth mostra una pagina HTML di ritorno, anche in caso di errore. I codici seguenti descrivono l’errore mostrato nella pagina. Guida a risposte ed errori
| HTTP | Codice | Significato e cosa fare |
|---|---|---|
| 400 | invalid_request | Errore OAuth: un parametro manca, è ripetuto o malformato, oppure il corpo non è un modulo. Leggi |
Errori comuni delle richieste
| HTTP | Codice | Significato e cosa fare |
|---|---|---|
| 429 | rate_limited | È stato superato un limite anonimo, delle richieste firmate o della chiave API. Attendi almeno i secondi indicati da |
| 500 | internal_error | Si è verificato un errore imprevisto del server. I dettagli interni non vengono restituiti. Riprova le letture con attese crescenti e un limite. Controlla l’esito delle scritture prima di inviare una nuova operazione firmata. |
| 503 | busy | L’applicazione ha raggiunto un limite temporaneo di concorrenza o del database. Attendi i secondi indicati da |