Zum Hauptinhalt springen

Liveness (biometrisches Selfie)

Biometrische Selfie-Aufnahme mit integrierter Liveness-Prüfung. Das SDK führt den Benutzer, bis über SmartFrames ein biometrisch gültiger Frame erhalten wird, und gibt das Bild als Base64 + JWT zurück.

Funktion

Dieser Aufnahmetyp verwendet die Liveness-Funktion. Eine konzeptionelle Übersicht über die Funktionsweise von Liveness finden Sie auf der Seite zur Liveness-Funktion.

Funktionsweise

Das SDK verwaltet die gesamte Aufnahmesitzung:

  1. Öffnet die Kamera mit der SmartFrame-Überlagerung.
  2. Führt den Benutzer dazu an, sein Gesicht im Rahmen zu positionieren.
  3. Validiert Liveness — die Sitzung wird nur abgeschlossen, wenn der Benutzer physisch anwesend ist.
  4. Gibt ein Objekt mit base64 (Vorschau) und encrypted (JWT für die API) über den success-Callback zurück.
Kameramodus (Smart vs. Normal)

Web bietet zwei Kameramodi über SelfieCameraTypes:

  • SelfieCameraTypes.NORMAL — Standard-Kameramodus (manuelle Aufnahme).
  • SelfieCameraTypes.SMART — Intelligenter Kameramodus mit automatischer Aufnahme und Silhouettenführung.

Bei Verwendung von SMART müssen Sie die Computer-Vision-Modelle auch über setModelsPath während der Initialisierung laden.

Liveness-Aufnahme starten
Schritt 1 — Das callback-Objekt implementieren

Das Web SDK verwendet ein callback-Objekt — das an open() übergeben wird — um Erfolgs- und Fehlerereignisse zu verarbeiten. Beide Handler sind obligatorisch:

HandlerWann er aufgerufen wird
on.success(obj)Aufnahme erfolgreich abgeschlossen — empfängt ein Objekt mit base64 und encrypted
on.error(error)Während der Sitzung ist ein Fehler aufgetreten — empfängt ein ErrorBio-Objekt
const callback = {
on: {
success: (obj) => {
console.log(obj.base64);
console.log(obj.encrypted);
},
error: (error) => {
console.error(error);
}
}
};
Obligatorischer Callback

Das callback-Objekt ist obligatorisch. Wenn es nicht ordnungsgemäß implementiert ist (d. h. beide Ereignisse success und error abdeckt), löst das SDK eine Ausnahme aus, die, wenn sie nicht behandelt wird, in der Konsole des Benutzers angezeigt wird.

Schritt 2 — Kamera erstellen und Selfie-Sitzung vorbereiten

Erstellen Sie die Kamerainstanz und rufen Sie prepareSelfieCamera auf, indem Sie die UnicoConfig und den gewünschten SelfieCameraTypes übergeben:

Token-Ablauf

Das Intervall zwischen der Generierung von encrypted und dessen Übermittlung an die API darf 10 Minuten nicht überschreiten.

const unicoCamera = unicoCameraBuilder.build();

const config = new UnicoConfig()
.setHostname("<YOUR_HOSTNAME>")
.setHostKey("<YOUR_HOST_KEY>");

unicoCamera.prepareSelfieCamera(
config,
SelfieCameraTypes.SMART
).then(cameraOpener => {
cameraOpener.open(callback);
}).catch(error => {
console.error(error);
});
Tipp

Um den Kamerastart zu optimieren, können Sie die Aufrufe von prepareSelfieCamera() und open() trennen — halten Sie den Vorbereitungsschritt bereit, während der Benutzer zum Aufnahmebildschirm navigiert.

Schritt 3 — (optional) Verwendung innerhalb eines iFrames

Das Web SDK unterstützt eingebettetes Interactive Liveness in einem iFrame über prepareSelfieCameraForIFrame():

unicoCamera.prepareSelfieCameraForIFrame(
config,
SelfieCameraTypes.SMART
).then(cameraOpener => {
cameraOpener.open(callback);
}).catch(error => {
console.error(error);
});

Implementieren Sie das <iframe>-Element mit den erforderlichen Berechtigungen:

<iframe allow="fullscreen;camera;geolocation" allowFullScreen src="your_app_url"></iframe>
Methode muss dem Kontext entsprechen

prepareSelfieCameraForIFrame() funktioniert nur innerhalb eines iFrames — die Verwendung außerhalb führt zum Fehler 73724. Ebenso führt die Verwendung von prepareSelfieCamera() innerhalb eines iFrames zum Fehler 73724.

Vollbild auf iPhone

Um die Aufnahme durchzuführen, muss die Seite im Vollbildmodus sein, damit das SDK die Größe automatisch anpassen kann. Apple schränkt die Verwendung von Vollbild-APIs speziell auf iPhones ein (iPads sind akzeptabel). Konfigurieren Sie für Aufnahmen auf iPhones die Positionierung des iFrames manuell.

Die vollständige Ergebnisverarbeitung finden Sie unter Ergebnis empfangen.