veil

Registra un'app senza scheda

RFC 7591, aperta: un'app di cui nessuna scheda risponde. La pagina di consenso la dice non verificata, e sparisce 30 giorni dopo la registrazione.

POST/oidc/register
Accesso
Crea dati temporanei
Client
Client locale o server

Corpo JSON#

NomePosizioneSignificato
redirect_urisObbligatorioJSONDa 1 a 10: https, o http sull'interfaccia di loopback.
client_nameObbligatorioJSONDa 1 a 60 caratteri; non può dire Veil.
token_endpoint_auth_methodJSONclient_secret_basic (predefinito), private_key_jwt o none.
grant_types, response_typesJSONauthorization_code (e refresh_token); code.
id_token_signed_response_algJSONEdDSA (predefinito) o ES256.
jwksJSONCon private_key_jwt: da 1 a 8 chiavi pubbliche. jwks_uri e logo_uri non si leggono.

Esempi di richiesta#

cURL
curl -fsS --json '{"client_name":"CLI notes","redirect_uris":["http://127.0.0.1/callback"],"token_endpoint_auth_method":"none"}' 'https://veil.rip/oidc/register'

Risposta#

HTTP 201application/json

201 con i metadati tenuti, e client_secret una volta.

CampoTipoSignificato
client_idstringveil_app_ e 32 caratteri hex.
client_secretstringPer client_secret_basic, una volta.
client_id_issued_at, client_secret_expires_at, veil_expires_atintegerSecondi Unix; l'app finisce a veil_expires_at.
redirect_uris, client_name, client_uri, token_endpoint_auth_method, grant_types, response_types, id_token_signed_response_alg, post_logout_redirect_uris, jwks, application_type, scopemixedI metadati come sono stati tenuti.

Intestazioni della risposta#

IntestazioneValoreSignificato
Content-Typeapplication/jsonJSON, anche per gli errori.
Cache-Controlno-storePrivata: mai in una cache.

Note d’uso#

  • Gli errori di questo endpoint seguono OAuth: {"error", "error_description"} (RFC 6749, 5.2), non l'oggetto error del resto delle API. Un limite risponde comunque 429 con la busta solita.
  • Dieci registrazioni all'ora per IP.

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

HTTPCodiceSignificato e cosa fare
400invalid_client_metadata

Errore OAuth: un campo della registrazione manca o non è ammesso (nome, sito, grant type, response type, algoritmo del token ID, jwks).

Leggi error_description e correggi quel campo.

400invalid_redirect_uri

Errore OAuth: un redirect URI non è https, o è http fuori dall'interfaccia di loopback, o ha un frammento o informazioni utente.

Registra URI https esatti, o http://127.0.0.1/… per un'app nativa.

404invalid_request

Errore OAuth: Accedi con Veil non è configurato su questo server.

Usa https://veil.rip, o un server il cui documento di discovery risponde.

503temporarily_unavailable

Errore OAuth: in questo momento ci sono troppe app registrate senza scheda.

Registra l'app da /developers, con una scheda.

Errori comuni delle richieste
HTTPCodiceSignificato e cosa fare
429rate_limited

È stato superato un limite anonimo, delle richieste firmate o della chiave API.

Attendi almeno i secondi indicati da Retry-After. Condividi coda e budget dei tentativi tra i tuoi processi.

500internal_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.

503busy

L’applicazione ha raggiunto un limite temporaneo di concorrenza o del database.

Attendi i secondi indicati da Retry-After e riprova con attese crescenti e un limite.