Panoramica
Iframe UniLink (senza backend)
Il modo più rapido per iniziare: copia e incolla il tuo URL UniLink.Cosa ti serve
- Un workflow Didit (creato nella Didit Console)
- Il tuo URL UniLink (clicca su Copy Link nel tuo workflow)
Implementazione
⚠️ Obbligatorio: l’attributo allow è obbligatorio per l’accesso alla fotocamera durante il rilevamento della vitalità.
Vantaggi principali
- Configurazione in meno di 1 minuto: nessun backend, nessuna chiave API
- Nessuna configurazione: l’URL di callback si imposta nelle impostazioni del workflow
- Ideale per gli MVP: inizi subito
Iframe con sessione API (con backend)
Per integrazioni avanzate che richiedono una personalizzazione per sessione.Quando usarlo
- Passa
vendor_dataometadatapersonalizzati per sessione - Imposta URL di callback diversi per sessione
- Traccia le sessioni lato server prima dell’avvio della verifica
- Associa le sessioni agli ID utente
Implementazione
Passaggio 1: crea una sessione (backend) La risposta della creazione della sessione usa un campo chiamatourl: usalo come src dell’iframe.
Ascoltare gli eventi (postMessage)
La pagina di verifica invia eventi alla finestra padre. Ogni messaggio ha questa struttura:event.data.data.sessionId, non event.data.sessionId:
didit:ready ({ sessionId }), didit:started, didit:step_started / didit:step_completed / didit:step_changed ({ step, ... }), didit:status_updated ({ status }), didit:completed ({ sessionId, status }), didit:cancelled, didit:error ({ error, step? }), didit:close_request, e didit:layout ({ contentHeight, colorScheme, dir }, vedi sotto). Il riferimento degli eventi dell’SDK JavaScript elenca gli eventi di verifica disponibili come callback tipizzati. A partire dalla versione 0.5.0, l’SDK gestisce internamente i messaggi di layout invece di inoltrarli a onEvent.
Dimensiona l’iframe da didit:layout
La pagina di verifica indica lo spazio di cui ha bisogno con un messaggio didit:layout. Ne invia uno al caricamento e un altro ogni volta che cambiano l’altezza del contenuto, il tema o la direzione del testo:
Per ricevere
didit:layout nel tuo iframe, aggiungi sdk_presentation=embedded all’URL di verifica. A partire dalla versione 0.5.0, l’SDK JavaScript imposta la presentazione per te. Senza un parametro di presentazione, la pagina usa il layout autonomo e non invia messaggi di layout.colorScheme e dir per adattare i controlli che disegni attorno all’iframe al tema e alla direzione del testo della pagina.
Se la connessione dell’utente cade, la pagina mostra una schermata “Nessuna connessione a internet” che si chiude da sola quando la connessione torna disponibile. Se l’utente sceglie Exit Verification in quella schermata, la pagina invia didit:error con error: "network_error", poi didit:cancelled: chiudi l’iframe alla ricezione di didit:cancelled.
Implementazione modale
Per un’esperienza modale curata che si sovrappone alla tua pagina:HTML/CSS/JS
Componente React
Un componente React riutilizzabile per la verifica in modale:Utilizzo
Componente Vue
Configurazione
Autorizzazioni richieste
Usa questo elenco completo di autorizzazioni per l’acquisizione, la posizione, la copia e la compatibilità dei contenuti multimediali:
L’attributo
allow delega le autorizzazioni; non sostituisce la scelta dell’utente né un’intestazione Permissions-Policy più restrittiva sulla tua pagina host.
Dimensioni dell’iframe
Il flusso di verifica si adatta automaticamente alle dimensioni del proprio iframe. Dimensiona l’iframe in base alla finestra in cui viene mostrato:
Per l’intervallo intermedio, parti da 500px per 700px finché non arriva il primo messaggio
didit:layout, con lo stesso limite di altezza. L’esempio di didit:layout applica tutte e tre le dimensioni, comprese quelle per computer e telefono, prima che arrivi qualsiasi messaggio.
Content Security Policy (CSP)
Se usi CSP, aggiungi Didit alla direttivaframe-src:
Verifica tra dispositivi
L’iframe InContext supporta automaticamente la verifica tra dispositivi:- L’utente avvia la verifica su desktop
- Se la fotocamera non è disponibile, viene mostrato un codice QR
- L’utente scansiona il codice QR con il telefono
- L’utente completa la verifica sul telefono
- L’iframe desktop si aggiorna automaticamente con il risultato
Risoluzione dei problemi
La fotocamera non funziona
- Assicurati che l’iframe includa l’elenco completo delle autorizzazioni
- Verifica che il sito sia servito tramite HTTPS
- Controlla che l’utente abbia concesso le autorizzazioni della fotocamera al tuo dominio
- Prova il metodo Redirect se l’accesso alla fotocamera nell’iframe non funziona
L’iframe non si carica
- Controlla eventuali problemi di Content Security Policy (CSP)
- Aggiungi
https://verify.didit.mealla direttivaframe-src - Controlla la console del browser per eventuali errori
postMessage non ricevuto
- Verifica di essere in ascolto sull’origine corretta (
https://verify.didit.me, oppure il tuo dominio white label) - Controlla che il listener dell’evento sia aggiunto prima di aprire l’iframe
- Controlla il nome e la struttura dell’evento: i tipi hanno il prefisso (
didit:completed, nonverification_complete) e il payload è annidato inevent.data.data
Repository di esempio
Repository GitHub
Visualizza il codice sorgente e gli esempi su GitHub