Vai al contenuto principale
POST
L’autenticazione è una nuova funzionalità. Questi endpoint sono forniti dall’emittente della tua applicazione, ad esempio https://<name>.auth.didit.me, e non accettano mai la tua chiave API di Didit.
Un token di aggiornamento funziona una sola volta. Inviare di nuovo un token di aggiornamento già usato revoca l’intera sessione, quindi esegui un solo aggiornamento alla volta per sessione e sostituisci insieme tutti e tre i token. Vedi Token di aggiornamento.

Corpo

Uno dei due grant, scelto da grant_type. L'endpoint accetta i campi di entrambi i grant e valida ogni campo ricevuto; pertanto, una richiesta di refresh che contiene anche un code_verifier malformato riceve un errore relativo al campo. Invia solo i campi del tuo grant; qualsiasi altro campo riceve unknown_field.

grant_type
enum<string>
obbligatorio
Opzioni disponibili:
authorization_code
code
string
obbligatorio

Il parametro di query code ricevuto dal tuo redirect_uri. Verifica lo state del callback prima di scambiarlo.

Maximum string length: 128
Esempio:

"Vb0bVt4CLlr8ZL0kE5mAxv8gS6R0rW3hYqC1pN7dJ2s"

code_verifier
string
obbligatorio

Il verificatore PKCE il cui hash S256 era il code_challenge dell'accesso.

Required string length: 43 - 128
Pattern: ^[A-Za-z0-9._~-]{43,128}$
Esempio:

"dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk"

redirect_uri
string
obbligatorio

L'esatto redirect_uri con cui è iniziato l'accesso. Deve comunque essere uno degli URI di reindirizzamento dell'applicazione.

Maximum string length: 2048
Esempio:

"https://app.example.com/auth/callback"

client_id
string

Opzionale. Se inviato, deve corrispondere all'ID della tua applicazione, altrimenti la richiesta fallisce con invalid_client.

Maximum string length: 64
Esempio:

"7b0a6c2e-3f41-4c9a-8d55-1e2f3a4b5c6d"

scope
string

Opzionale e accettato dai client standard OpenID Connect. Non amplia mai ciò che l'accesso ha concesso.

Maximum string length: 512
Esempio:

"openid email"

Risposta

Nuovi token per la sessione.

Token per una sessione. Sostituisci tutti e tre insieme dopo un rinnovo.

access_token
string
obbligatorio

JWT ES256, intestazione typ: at+jwt. Invialo come Authorization: Bearer <access_token>. Claim: AccessTokenClaims.

Esempio:

"eyJhbGciOiJFUzI1NiIsImtpZCI6ImtfOHNKMmRRdlgwbkxyNVRmWWIzSGtQdyIsInR5cCI6ImF0K2p3dCJ9.eyJpc3MiOiJodHRwczovL3lvdXItYXBwLmF1dGguZGlkaXQubWUiLCJhdWQiOiI3YjBhNmMyZS0zZjQxLTRjOWEtOGQ1NS0xZTJmM2E0YjVjNmQiLCJzdWIiOiIxYzlkOGI4OC0xYmZmLTQzZDEtYWQ3YS04OGIyYmMwMDI0ZTkiLCJzaWQiOiJjOWFiZjZjYy0yZDY0LTRiZjItYjMxZS1hNGQwOWEwNzBhYjEiLCJqdGkiOiJSZ3F1NzE3OWUtbGhKMGJ2VmVELVlnIiwiaWF0IjoxNzkyMjMzNjc0LCJleHAiOjE3OTIyMzM5NzQsInZlbmRvcl9kYXRhIjoidXNlci00MiIsIm9yZyI6bnVsbCwidmVyaWZpZWQiOnt9LCJhbXIiOlsicGFzc3dvcmQiXSwiYWN0IjpudWxsLCJjbGllbnRfaWQiOiI3YjBhNmMyZS0zZjQxLTRjOWEtOGQ1NS0xZTJmM2E0YjVjNmQifQ.AxrqN8Pm-Op-3OayZk8HcvlFQZhozRiOvQ0SgQsGgrz4UNeJlUEeSlq9B8WcYUuM8naRaY5kQt_TUofnsYcyYQ"

id_token
string
obbligatorio

JWT ES256, intestazione typ: JWT, affinché la tua applicazione possa leggere chi ha effettuato l'accesso. Non inviarlo mai come token di accesso. Claim: IDTokenClaims.

Esempio:

"eyJhbGciOiJFUzI1NiIsImtpZCI6ImtfOHNKMmRRdlgwbkxyNVRmWWIzSGtQdyIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL3lvdXItYXBwLmF1dGguZGlkaXQubWUiLCJhdWQiOiI3YjBhNmMyZS0zZjQxLTRjOWEtOGQ1NS0xZTJmM2E0YjVjNmQiLCJzdWIiOiIxYzlkOGI4OC0xYmZmLTQzZDEtYWQ3YS04OGIyYmMwMDI0ZTkiLCJzaWQiOiJjOWFiZjZjYy0yZDY0LTRiZjItYjMxZS1hNGQwOWEwNzBhYjEiLCJqdGkiOiJNTHRPNHM4SHItQnJrcDd2NTlPV0Z3IiwiaWF0IjoxNzkyMjMzNjc0LCJleHAiOjE3OTIyMzM5NzQsInZlbmRvcl9kYXRhIjoidXNlci00MiIsIm9yZyI6bnVsbCwidmVyaWZpZWQiOnt9LCJhbXIiOlsicGFzc3dvcmQiXSwiYWN0IjpudWxsLCJhdXRoX3RpbWUiOjE3OTIyMzM2NzQsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJlbWFpbCI6InBlcnNvbkBleGFtcGxlLmNvbSIsIm5vbmNlIjoibi0wUzZfV3pBMk1qIn0.avhfDFp_aUV5_1ssYzwDcIA7H6Waf19P0bn5GCg25FhLIZBGIlwc8HiUPGj1j26r21OkP4FQnS_jM1Ho3dHtKQ"

refresh_token
string
obbligatorio

Monouso. È valido fino al termine della sessione e ogni aggiornamento ne restituisce uno nuovo.

Esempio:

"N4yZTl6y24YKYq77X_SOrBn1q2Lit81WBQMOay7dq_IVfTnxyY8ZGcJk-6-fcmWW"

token_type
enum<string>
obbligatorio
Opzioni disponibili:
Bearer
expires_in
integer
obbligatorio

Secondi prima della scadenza del token di accesso: al massimo 300, meno se la sessione termina prima.

Intervallo richiesto: 0 <= x <= 300
Esempio:

299

session_id
string<uuid>
obbligatorio

La sessione a cui appartengono questi token, lo stesso valore del claim sid.

Esempio:

"c9abf6cc-2d64-4bf2-b31e-a4d09a070ab1"

Ultima modifica il 7 novembre 2026