Leggi una richiesta di accesso
I dati della pagina di consenso: l'app, se una scheda la garantisce, gli scope e i campi che il testo del consenso firma.
/oidc/requests/{id}- Accesso
- Serve un codice privato
- Client
- Client locale o server
Parametri#
| Nome | Posizione | Significato |
|---|---|---|
idObbligatorio | Percorso | L'id della richiesta: 43 caratteri dall'indirizzo della pagina di consenso (`?req=`) o dal suo elemento meta. |
Esempi di richiesta#
curl -fsS 'https://veil.rip/oidc/requests/{id}'Risposta#
La richiesta come il server l'ha controllata.
| Campo | Tipo | Significato |
|---|---|---|
id | string | L'id della richiesta. |
issuer | string | https://veil.rip. |
client | object | {id, name, site, logo, verified, owner, dynamic, type}. |
redirectUri | string | Dove va il codice. |
redirectHost | string | null | Il suo host, per la pagina. |
scopes | array<string> | Nell'ordine in cui il consenso li firma. |
prompt | string | null | Il prompt dell'app. |
uiLocales | string | null | Gli ui_locales dell'app. |
askEveryTime | boolean | Il redirect URI è sull'interfaccia di loopback (un'app nativa): la pagina chiede il clic ogni volta, anche per un'app che la scheda ha approvato. |
consent | object | {prefix, iss, client, redirect, scopes, nonce, state (SHA-256 hex o null), challenge, request}: i campi firmati. |
createdAt | string | ISO 8601 UTC. |
expiresAt | string | 30 minuti dopo. |
Intestazioni della risposta#
| Intestazione | Valore | Significato |
|---|---|---|
Content-Type | application/json | JSON, anche per gli errori. |
Cache-Control | no-store | Privata: mai in una cache. |
Note d’uso#
- Chi ha l'id lo legge, come chi ha l'indirizzo apre la pagina. Niente CORS.
Errori#
Gli errori API restituiscono un oggetto error. Usa error.code nella logica del programma; error.message è un testo inglese per le persone e può cambiare. Guida a risposte ed errori
| HTTP | Codice | Significato e cosa fare |
|---|---|---|
| 404 | not_found | La scheda, la chiave, l’alias, il codice o la risorsa richiesti non sono stati trovati. Controlla l’identificatore. Codici e anteprime temporanei potrebbero essere scaduti o già usati. |
| 410 | request_expired | La richiesta di accesso è già stata usata o ha più di 30 minuti. Torna all'app e ricomincia. |
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 |