Come funziona
Ogni applicazione ha la propria origine di accesso e il proprio emittente di token. Le applicazioni di produzione e sandbox sono separate: hanno origini, impostazioni e identità distinte.
Il flusso è OAuth 2.0 con codice di autorizzazione e PKCE (solo
S256):
- La tua app apre
{origin}/sign-inconredirect_uri,state,code_challengeecode_challenge_method=S256. - La pagina ospitata autentica o registra la persona con i metodi che hai abilitato, incluso eventuale secondo fattore obbligatorio.
- Il browser torna al tuo
redirect_uriconcodeestate. - La tua app scambia il codice in
POST {origin}/token/per ottenere un access token, un ID token e un refresh token.
Scegli la tua piattaforma
JavaScript
Accesso ospitato, callback, sessione e logout.
React
Stato lato client e viste applicative protette.
Next.js
Sessioni lato server, route di callback e cookie.
iOS
Browser di sistema e archiviazione sicura dei token.
Android
Autorizzazione tramite browser e callback dell’app.
React Native
Preparazione del wrapper nativo per l’autenticazione.
Flutter
Preparazione del wrapper nativo per l’autenticazione.
Prepara la tua applicazione
- Chiedi a Didit di attivare Authentication per la tua applicazione. Fai prima i test in un’applicazione sandbox.
- Registra i tuoi URL di reindirizzamento esatti (fino a 50) e i
allowed_originsdel browser (fino a 50) che chiamano l’API di runtime. - Abilita i metodi di accesso che vuoi offrire. Didit ID Wallet è sempre attivo.
- Scegli le impostazioni di sessione e password (vedi sotto).
- Prova registrazione, accesso, recupero password, MFA, scadenza della sessione e logout prima di andare in produzione.
URL di reindirizzamento
Didit reindirizza una persona solo verso un indirizzo che hai registrato. Registralo nella console, in Authentication > Security and sessions > Redirect URLs and allowed origins. Ilredirect_uri di una richiesta di accesso deve corrispondere a un URL registrato carattere per carattere: schema, host, porta, percorso e query. Una porta diversa, una barra finale o una diversa maiuscola/minuscola indicano un indirizzo diverso.
Wildcard, frammenti, credenziali nell’URL e schemi personalizzati vengono rifiutati.
Se l’indirizzo non è registrato, Didit non reindirizza mai verso di esso.
{origin}/sign-in risponde con 400 e con una pagina che indica cosa registrare e dove, mentre POST {origin}/authorize/ risponde con 400 {"error": "invalid_redirect_uri"}.
Sviluppo locale
Esegui i test sulla tua macchina con la tua applicazione sandbox:- Registra il tuo callback con la sua porta, per esempio
http://localhost:3000/auth/callback. - Se il codice del browser chiama l’API di runtime, per esempio per scambiare il codice in
POST {origin}/token/, aggiungi anche l’origine a Origini consentite:http://localhost:3000, senza percorso e senza barra finale. - Avvia l’accesso sull’origine sandbox,
https://<slug>.sandbox.auth.didit.me, con la tua chiavepk_test_....
localhost, 127.0.0.1 e [::1] sono indirizzi distinti, e lo è anche ogni porta. Registra ciascuno di quelli che usi.
Le applicazioni di produzione non accettano mai http://.
Prima di andare in produzione, registra il callback https:// di produzione sulla tua applicazione di produzione.
Impostazioni dell’applicazione
Puoi gestire queste impostazioni nella console oppure con una sessione di console autorizzata che abbiawrite:authentication.
Mantieni la stessa persona tra i prodotti
Ogni identità include un valorevendor_data. È l’external_id che hai fornito quando hai importato la persona, oppure l’ID identità di Didit in caso contrario. Compare nel token di accesso, nel token di identità e in GET session/.
Usa lo stesso valore come vendor_data quando crei le sessioni di verifica e invii le transazioni. Gli eventi di autenticazione finiscono così sulla stessa persona nella console, insieme alle sue verifiche e alle sue transazioni. Vedi eventi e webhook.
Ricava vendor_data sul tuo backend da un token verificato, mai da un campo del browser non controllato.
Usa il prompt di integrazione condiviso per qualsiasi combinazione. Leggi protezione dai bot per i criteri applicati durante l’accesso.