Zum Hauptinhalt springen
Das Didit JavaScript-SDK bietet eine programmatische Möglichkeit, Verifizierungen mit voller Kontrolle über das Benutzererlebnis in Ihre Webanwendung zu integrieren.

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:
Sie können auch den Laufzeit-Export überprüfen:
Ab 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: Verwenden Sie die UniLink-URL Ihres Workflows direkt aus der Didit Console. Kein Backend erforderlich.
Rufen Sie Ihre UniLink-URL in der Didit Console → Ihr Workflow → Link kopieren ab. Die generierte session_id wird Ihnen über ein Ereignis übermittelt. Event-Referenz hier einsehen

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 über vendor_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)
Frontend
Das Antwortfeld bei der Sitzungserstellung heißt url (siehe das OpenAPI-Schema zum Erstellen einer Sitzung). Übergeben Sie es direkt an startVerification({ url }).

Konfiguration

Unten finden Sie die vollständigen TypeScript-Typdefinitionen für das komplette DiditSdkConfiguration-Interface.

Kameraoptionen

Die Kameraoptionen erfordern @didit-protocol/sdk-web 0.4.0 oder höher.
Das Web-SDK bietet dieselben vier Kameraoptionen wie die nativen SDKs. Standardmäßig öffnet die Dokumentenerfassung die Rückkamera und die Gesichtserfassung (Liveness) die Frontkamera (Selfie-Kamera). Beide Schritte bieten auf Geräten mit mehr als einer Kamera einen Kameraumschalter während der Erfassung. Setzen Sie 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_switch und liveness_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=back an, an eine URL, die bereits Parameter enthält, &liveness_camera=back, oder setzen Sie sie über die URL-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.
Siehe SDK-Ereignisübermittlung für Informationen zum Token, zu den Ereignisfeldern und zum Zustellungsverhalten.
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.
Der modale Modus verwendet eine maximale Breite von 500px und eine maximale Höhe von 700px. Auf kleineren Desktop- und Querformat-Viewports nimmt der iframe 90% des sichtbaren Viewports ein. Der Verifizierungs-Workflow scrollt innerhalb des iframes, sodass jeder Schritt erreichbar bleibt, während die Seite hinter dem Modal gesperrt bleibt. Das SDK verwendet 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.
Ab Version 0.5.0 passt das Modal seine Größe an den neugestalteten Verifizierungs-Workflow an, sobald die Seite ihr Layout mit einer 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 (modal oder embedded) und in einem Modal sdk_close_button (true oder false, entsprechend showCloseButton) hinzu, damit die Seite weiß, wie sie dargestellt wird.
  • Ereignisse, ab Version 0.5.0: Das SDK verarbeitet didit:layout selbst und leitet es nicht an onEvent weiter.
Es ist keine Konfiguration erforderlich, und jede bestehende Option funktioniert weiterhin.

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:
Wenn der Host keine aufgelöste Höhe hat, verfügt auch der eingebettete iframe über keine nutzbare Höhe. Ändern Sie die Größe des Hosts, wenn sich Ihr Layout ändert; das SDK füllt ihn weiterhin automatisch aus.

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 dem onEvent-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 dann didit: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 Feld step kann einen der folgenden Werte annehmen:
  • document_selection - Auswahl des Dokumenttyps
  • document_front - Vorderseite des Dokuments
  • document_back - Rückseite des Dokuments
  • face - Gesichts-/Liveness-Verifizierung
  • email - E-Mail-Verifizierung
  • phone - Telefonverifizierung
  • poa - Adressnachweis
  • questionnaire - Fragebogen-Schritt

Kanalwerte

Das Feld channel in code_sent kann folgende Werte haben:
  • email - Code per E-Mail gesendet
  • sms - Code per SMS gesendet
  • whatsapp - Code per WhatsApp gesendet

Codelänge

Das Feld codeSize in code_sent gibt die Länge des OTP-Codes an (z. B. 4 oder 6 Ziffern).

TypeScript-Typen

Zuletzt geändert am 7. November 2026