Zum Hauptinhalt springen
Binden Sie den Didit-Verifizierungsablauf mit einem iframe direkt in Ihre Anwendung ein. So erhalten Ihre Nutzer ein nahtloses Erlebnis, ohne dass sie Ihre Website verlassen müssen.

Übersicht


Der schnellste Einstieg: Kopieren Sie einfach Ihre UniLink-URL und fügen Sie sie ein.

Was Sie benötigen

  1. Ein Didit-Workflow (erstellt in der Didit Console)
  2. Ihre UniLink-URL (klicken Sie im Workflow auf Copy Link)

Implementierung

⚠️ Erforderlich: Das Attribut allow ist für den Kamerazugriff bei der Liveness-Erkennung zwingend erforderlich.

Wichtige Vorteile

  • Weniger als 1 Minute Einrichtung: Kein Backend, keine API-Schlüssel
  • Keine Konfiguration nötig: Die Callback-URL wird in den Workflow-Einstellungen festgelegt
  • Ideal für MVPs: Sofort loslegen

API-Sitzungs-iframe (mit Backend)

Für fortgeschrittene Integrationen, die eine Anpassung pro Sitzung benötigen.

Wann verwenden

  • Übergeben Sie pro Sitzung eigene vendor_data oder metadata
  • Legen Sie pro Sitzung unterschiedliche Callback-URLs fest
  • Verfolgen Sie Sitzungen serverseitig, bevor die Verifizierung beginnt
  • Ordnen Sie Sitzungen Ihren Benutzer-IDs zu

Implementierung

Schritt 1: Sitzung erstellen (Backend) Die Antwort beim Erstellen der Sitzung enthält ein Feld namens url. Verwenden Sie diesen Wert als src des iframes.
Schritt 2: Im iframe einbetten (Frontend)

Auf Ereignisse lauschen (postMessage)

Die Verifizierungsseite sendet Ereignisse an das übergeordnete Fenster. Jede Nachricht hat diese Struktur:
Der Payload ist verschachtelt: Lesen Sie event.data.data.sessionId, nicht event.data.sessionId:
Wichtige Ereignisse: 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 sowie didit:layout ({ contentHeight, colorScheme, dir }, siehe unten). Die Referenz der Ereignisse im JavaScript-SDK listet die Verifizierungsereignisse auf, die als typisierte Callbacks verfügbar sind. Ab Version 0.5.0 verarbeitet das SDK Layout-Nachrichten intern, anstatt sie an onEvent weiterzugeben.

Iframe-Größe anhand von didit:layout festlegen

Die Verifizierungsseite teilt Ihnen mit einer didit:layout-Nachricht mit, wie viel Platz sie benötigt. Sie sendet eine Nachricht beim Laden und eine weitere, sobald sich Inhaltshöhe, Design oder Textrichtung ändern:
Um didit:layout in Ihrem eigenen iframe zu empfangen, fügen Sie sdk_presentation=embedded zur Verifizierungs-URL hinzu. Ab Version 0.5.0 legt das JavaScript-SDK die Präsentationsart für Sie fest. Ohne Präsentationsparameter verwendet die Seite ihr Standalone-Layout und sendet keine Layout-Nachrichten.
Dieser Host folgt den empfohlenen Größen: eine feste Karte ab 1024px Breite, Vollbild bei 540px und darunter, und dazwischen ein iframe mit 500px Breite, das die von der Seite gemeldete Höhe einnimmt:
Zwischen 541px und 1023px verwendet dieses Beispiel eine Starthöhe von 700px, bis eine Layout-Nachricht eintrifft, begrenzt auf 90% der sichtbaren Fensterhöhe. Die Größen für Desktop und Mobilgeräte gelten sofort. Auf Mobilgeräten deckt das Iframe das Fenster ab, daher sollten Sie in Ihrer Anwendung eine Möglichkeit bereitstellen, die Verifizierung zu verlassen. Verwenden Sie colorScheme und dir, um Steuerelemente, die Sie um das iframe herum platzieren, an das Design und die Textrichtung der Seite anzupassen. Wenn die Verbindung des Benutzers abbricht, zeigt die Seite einen Bildschirm „Keine Internetverbindung“, der sich von selbst schließt, sobald die Verbindung wieder besteht. Wählt der Benutzer dort Exit Verification, sendet die Seite didit:error mit error: "network_error" und danach didit:cancelled. Schließen Sie das iframe bei didit:cancelled.
Für ein ausgereiftes Modal-Erlebnis, das sich über Ihre Seite legt:

HTML/CSS/JS


React-Komponente

Eine wiederverwendbare React-Komponente für die Verifizierung im Modal:

Verwendung


Vue-Komponente


Konfiguration

Erforderliche Berechtigungen

Verwenden Sie diese vollständige Berechtigungsliste für Aufnahmen, Standortzugriff, Kopiervorgänge und Medienkompatibilität:
Das allow-Attribut delegiert Berechtigungen; es überschreibt weder die Entscheidung des Benutzers noch einen strengeren Permissions-Policy-Header auf Ihrer Host-Seite.

Iframe-Größe

Der Verifizierungsablauf passt sein Layout an die Größe seines Iframes an. Dimensionieren Sie den Iframe für das Fenster, in dem er angezeigt wird: Für den mittleren Bereich beginnen Sie mit 500px mal 700px, bis die erste didit:layout-Nachricht eintrifft, mit derselben Höhenbegrenzung. Das Beispiel zu didit:layout wendet alle drei Größen an, einschließlich der Größen für Computer und Smartphone, bevor eine Nachricht eintrifft.

Content Security Policy (CSP)

Wenn Sie CSP verwenden, fügen Sie Didit Ihrer frame-src-Direktive hinzu:

Geräteübergreifende Verifizierung

Das InContext-Iframe unterstützt geräteübergreifende Verifizierung automatisch:
  1. Der Benutzer startet die Verifizierung am Desktop
  2. Ist die Kamera nicht verfügbar, wird ein QR-Code angezeigt
  3. Der Benutzer scannt den QR-Code mit dem Smartphone
  4. Der Benutzer schließt die Verifizierung auf dem Smartphone ab
  5. Das Desktop-Iframe aktualisiert sich automatisch mit dem Ergebnis
Dies geschieht automatisch, ohne zusätzliche Konfiguration.

Fehlerbehebung

Kamera funktioniert nicht

  1. Stellen Sie sicher, dass das Iframe die vollständige Berechtigungsliste enthält
  2. Prüfen Sie, ob Ihre Website über HTTPS ausgeliefert wird
  3. Vergewissern Sie sich, dass der Benutzer Kameraberechtigungen für Ihre Domain erteilt hat
  4. Versuchen Sie die Redirect-Methode, wenn der Kamerazugriff im Iframe fehlschlägt

Iframe wird nicht geladen

  1. Prüfen Sie auf Probleme mit der Content Security Policy (CSP)
  2. Fügen Sie https://verify.didit.me Ihrer frame-src-Direktive hinzu
  3. Prüfen Sie die Browser-Konsole auf Fehler

postMessage wird nicht empfangen

  1. Prüfen Sie, ob Sie auf den richtigen Origin hören (https://verify.didit.me oder Ihre White-Label-Domain)
  2. Prüfen Sie, ob der Event-Listener hinzugefügt wird, bevor Sie das Iframe öffnen
  3. Prüfen Sie Ereignisname und Struktur: Typen haben das Präfix (didit:completed, nicht verification_complete), und die Payload ist unter event.data.data verschachtelt

Beispiel-Repository

GitHub-Repository

Quellcode und Beispiele auf GitHub ansehen

Zuletzt geändert am 7. November 2026