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.
Dieser Aufnahmetyp verwendet die Liveness-Funktion. Eine konzeptionelle Übersicht über die Funktionsweise von Liveness finden Sie auf der Seite zur Liveness-Funktion.
Das SDK verwaltet die gesamte Aufnahmesitzung:
- Öffnet die Kamera mit der SmartFrame-Überlagerung.
- Führt den Benutzer dazu an, sein Gesicht im Rahmen zu positionieren.
- Validiert Liveness — die Sitzung wird nur abgeschlossen, wenn der Benutzer physisch anwesend ist.
- Gibt ein Objekt mit
base64(Vorschau) undencrypted(JWT für die API) über densuccess-Callback zurück.
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.
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:
| Handler | Wann 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);
}
}
};
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:
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);
});
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>
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.
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.