Funktionen
- Einfache API – Singleton-Muster mit benutzerfreundlichen Methoden
- Flexible Integration – Verwenden Sie die UniLink-URL direkt oder erstellen Sie Sitzungen über das Backend
- Responsiv – Funktioniert in Desktop- und mobilen Browsern
- Anpassbar – Konfigurationsoptionen für Styling und Verhalten
- Mehrere Formate – ESM-, CommonJS- und UMD-Builds
- TypeScript-Unterstützung – Vollständige Typdefinitionen enthalten
- Modal- und Inline-Modus – Wählen Sie zwischen Modal-Overlay oder Inline-Einbettung
- Event-Callbacks – Echtzeit-Ereignisse für den Verifizierungsfortschritt (gestartet, Schritt abgeschlossen, beendet)
- Statusverwaltung – Beobachten Sie den SDK-Status für eine benutzerdefinierte Benutzeroberfläche
Installation
NPM/Yarn
CDN (UMD)
Das neueste veröffentlichte npm-Release ist
0.5.1.
Mit 0.5.0 wurde DiditSdk.shared.submitEvent() hinzugefügt (siehe Ereignisse senden), und mit 0.5.1 kann der gehostete Ablauf innerhalb des SDK eine digitale ID-Wallet nach dem Ausweis des Benutzers fragen und behält einen fehlgeschlagenen Start im error-Status mit der zugehörigen errorMessage bei.
0.4.0 hat die Kameraoptionen hinzugefügt, die die nativen SDKs bereits bieten, einschließlich defaultLivenessCamera, wodurch die Gesichtserfassung über die Rückkamera geöffnet wird (siehe Kameraoptionen).Installierte Version überprüfen
Ihr Paketmanager bleibt für das installierte Release maßgeblich:0.3.1 wird dieser Export aus der Paketversion in jedem JavaScript-Format (ESM, CommonJS, UMD, minifiziertes UMD) und in der TypeScript-Deklaration generiert, sodass er immer mit dem installierten Release übereinstimmt.
Versionen 0.3.0 und früher geben bei diesem Export unabhängig von der installierten Version 0.2.1 zurück. Verwenden Sie bei diesen Versionen stattdessen npm list oder Ihre Lock-Datei.
Vanilla JavaScript
ES-Module / TypeScript
Script-Tag (UMD)
Framework-Beispiele
Web-SDK-Beispiele
React, Angular, Svelte, Next.js, Nuxt, Vue und mehr – mit Beispielen und Dokumentation für jedes Framework.
Integrationsmethoden
Es gibt zwei Möglichkeiten, das SDK zu integrieren:Methode 1: UniLink-URL (Am einfachsten)
Verwenden Sie die UniLink-URL Ihres Workflows direkt aus der Didit Console. Kein Backend erforderlich.Methode 2: Backend-Sitzung (für die Produktion empfohlen)
Ihr Backend erstellt eine Sitzung über die Didit-API und gibt die gehostete Verifizierungs-URL zurück. Dadurch haben Sie die Kontrolle übervendor_data, sitzungsspezifische callback-Angaben und metadata und können Sitzungen erstellen, bevor der Benutzer das Frontend erreicht.
Weitere Informationen finden Sie in der API-Referenz zum Erstellen einer Sitzung.
Backend (Node.js / Express)
Das Antwortfeld bei der Sitzungserstellung heißt
url (siehe das OpenAPI-Schema zum Erstellen einer Sitzung). Übergeben Sie es direkt an startVerification({ url }).Konfiguration
Kameraoptionen
Die Kameraoptionen erfordern
@didit-protocol/sdk-web 0.4.0 oder höher.defaultLivenessCamera: 'back', um die Gesichtserfassung mit der Rückkamera zu öffnen – beispielsweise an einem Kiosk-Terminal oder wenn ein Operator das Gerät hält und auf die zu verifizierende Person richtet.
- Akzeptierte Objektivwerte sind
'front'und'back'. Jeder andere Wert wird ignoriert, ebenso wie ein Umschalter-Flag, das kein boolescher Wert ist. - Ein Gerät ohne die angeforderte Kamera behält die vorhandene bei: Ein Laptop, für den
'back'angefordert wurde, verwendet weiterhin seine Webcam. Auf Geräten mit nur einer Kamera wird der Umschalter unabhängig von den Flags ausgeblendet. - Die Liveness-Optionen gelten für die passive Liveness-Prüfung. Aktive Liveness ist davon nicht betroffen.
- Das SDK leitet die Optionen als Query-Parameter der Verifizierungs-URL an die Verifizierungsseite weiter:
document_camera,liveness_camera,document_camera_switchundliveness_camera_switch. Wenn Sie die Verifizierungs-URL direkt statt über das SDK öffnen, legen Sie diese selbst fest: Fügen Sie an eine URL ohne Query-String?liveness_camera=backan, an eine URL, die bereits Parameter enthält,&liveness_camera=back, oder setzen Sie sie über dieURL-API, damit beide Fälle abgedeckt sind:
Ereignisse übermitteln
DiditSdk.shared.submitEvent() reiht Endbenutzer-Ereignisse (Registrierung, Login, fehlgeschlagener Login, Logout, Passwortzurücksetzung, MFA, Gerätewechsel) für die Ereignisüberwachung von Didit in eine Warteschlange ein.
Ihr Backend generiert ein Monitoring-Token für die Person, und das SDK sendet die Ereignisse gebündelt mit dem Geräte-Fingerabdruck.
Geben Sie niemals einen API-Schlüssel an den Browser weiter.
Modal-Größenanpassung und Scrolling
Das unten beschriebene Verhalten bei der Größenanpassung erfordert Version 0.3.1 oder höher. Bei Version 0.3.0 und früher kann der Verifizierungs-Workflow auf niedrigen Desktop- und Querformat-Viewports abgeschnitten werden.
dvh in Browsern, die dynamische Viewport-Einheiten unterstützen, und weicht in älteren unterstützten Browsern auf vh aus. Bei Breiten von 540px und darunter füllt das Modal den sichtbaren Viewport vollständig aus. Der Schließen-Button und die Bestätigung zum Verlassen verbleiben innerhalb des Modals.
Neugestalteter Verifizierungs-Workflow
Alles in diesem Abschnitt gilt ab Version 0.5.0, die noch nicht veröffentlicht wurde. Bis Sie upgraden, behält das Modal die oben beschriebene Größe bei.
didit:layout-Nachricht meldet:
- Ausgangsgröße, ab Version 0.5.0: Bis die Seite ihr Layout meldet, und bei Seiten, die dies nie tun, behält das Modal die bestehende Maximalgröße von 500px mal 700px bei. Es passt sich weiterhin an niedrige Fenster an und bleibt bei 540px und darunter im Vollbildmodus.
- Schließen-Button, ab Version 0.5.0: ein 44px großer Kreis über der oberen Leiste der Seite. Er folgt dem hellen oder dunklen Theme der Seite und wechselt bei Rechts-nach-links-Sprachen nach links.
- Eingebetteter Modus, ab Version 0.5.0: Er füllt weiterhin sein Host-Element vollständig aus, wie bisher (siehe Eingebetteter Modus).
- Verifizierungs-URL, ab Version 0.5.0: Das SDK fügt
sdk_presentation(modaloderembedded) und in einem Modalsdk_close_button(trueoderfalse, entsprechendshowCloseButton) hinzu, damit die Seite weiß, wie sie dargestellt wird. - Ereignisse, ab Version 0.5.0: Das SDK verarbeitet
didit:layoutselbst und leitet es nicht anonEventweiter.
Eingebetteter Modus
Der eingebettete Modus verwendet nicht die Begrenzung des Modals von 500px mal 700px. Das SDK füllt die Content-Box des Host-Elements aus. Weisen Sie diesem Element daher eine explizite oder anderweitig aufgelöste Höhe zu:Verifizierungsergebnisse
Das SDK gibt drei Arten von Ergebnissen zurück:Abgeschlossen
Verifizierungsablauf beendet (genehmigt, ausstehend oder abgelehnt).Der TypeScript-Typ deklariert
'Approved' | 'Pending' | 'Declined', aber der Wert wird direkt aus dem Sitzungsstatus des gehosteten Flows übergeben – Sie können auch andere Status wie In Review erhalten. Pending ist der Fallback des SDKs, wenn der Flow keinen Status gemeldet hat. Betrachten Sie status als Hinweis und verlassen Sie sich für die verbindliche Entscheidung auf den Webhook.Abgebrochen
Der Benutzer hat das Verifizierungs-Modal geschlossen.session ist enthalten, wenn eine sessionId bereits bekannt war (sie kann undefined sein, wenn der Benutzer abgebrochen hat, bevor der iFrame eine gemeldet hat).
Fehlgeschlagen
Während der Verifizierung ist ein Fehler aufgetreten.Zustandsverwaltung
Sie können den SDK-Zustand für benutzerdefinierte Benutzeroberflächen überwachen:API-Referenz
DiditSdk.shared
Die Singleton-SDK-Instanz.Methoden
Eigenschaften
Callbacks
Granulare Ereignisse
Verfolgen Sie den Verifizierungsfortschritt mit demonEvent-Callback:
Ereignisreferenz
Verbindungsabbruch
Wenn die Verbindung des Benutzers abbricht, überlagert die Verifizierungsseite den Workflow mit einem Bildschirm „Keine Internetverbindung“, anstatt einen Schritt im Ladezustand zu belassen. Sie prüft im Hintergrund weiter und schließt den Bildschirm von selbst, sobald Didit wieder erreichbar ist, sodass der Benutzer mit dem Schritt fortfahren kann, bei dem er sich befand. Innerhalb des SDK-Modals oder eines iFrames bietet der Bildschirm außerdem Verifizierung beenden: Die Seite sendet danndidit:error mit error: "network_error", gefolgt von didit:cancelled, und das SDK schließt das Modal und ruft onComplete mit type: "cancelled" auf.
Ab Version 0.5.0 passt die didit:layout-Nachricht der Seite die Größe des Modals an und wird nicht an onEvent weitergeleitet. Wenn Sie die Seite stattdessen mit Ihrem eigenen iFrame einbetten, siehe Größe des iFrames über didit:layout anpassen.
Schrittwerte
Das Feldstep kann einen der folgenden Werte annehmen:
document_selection- Auswahl des Dokumenttypsdocument_front- Vorderseite des Dokumentsdocument_back- Rückseite des Dokumentsface- Gesichts-/Liveness-Verifizierungemail- E-Mail-Verifizierungphone- Telefonverifizierungpoa- Adressnachweisquestionnaire- Fragebogen-Schritt
Kanalwerte
Das Feldchannel in code_sent kann folgende Werte haben:
email- Code per E-Mail gesendetsms- Code per SMS gesendetwhatsapp- Code per WhatsApp gesendet
Codelänge
Das FeldcodeSize in code_sent gibt die Länge des OTP-Codes an (z. B. 4 oder 6 Ziffern).