Liveness (selfie biométrique)
Capture de selfie biométrique avec vérification de vivacité intégrée. Le SDK guide l'utilisateur jusqu'à l'obtention d'une image biométriquement valide via SmartFrames et renvoie l'image en Base64 + JWT.
Ce type de capture utilise la capacité Liveness. Pour une vue d'ensemble conceptuelle du fonctionnement de Liveness, consultez la page de la capacité Liveness.
Le SDK gère l'intégralité de la session de capture :
- Ouvre la caméra avec la superposition SmartFrame.
- Guide l'utilisateur pour positionner son visage dans le cadre.
- Valide la vivacité — la session ne se termine que lorsque l'utilisateur est physiquement présent.
- Renvoie un objet avec
base64(aperçu) etencrypted(JWT pour l'API) via le callbacksuccess.
Web expose deux modes caméra via SelfieCameraTypes :
SelfieCameraTypes.NORMAL— mode caméra standard (capture manuelle).SelfieCameraTypes.SMART— mode caméra intelligent avec capture automatique et guide de silhouette.
Lors de l'utilisation de SMART, vous devez également charger les modèles de vision par ordinateur via setModelsPath pendant l'initialisation.
Étape 1 — Implémenter l'objet callback
Le Web SDK utilise un objet callback — passé à open() — pour gérer les événements de succès et d'erreur. Les deux gestionnaires sont obligatoires :
| Gestionnaire | Quand il est appelé |
|---|---|
on.success(obj) | Capture réussie — reçoit un objet avec base64 et encrypted |
on.error(error) | Une erreur s'est produite pendant la session — reçoit un ErrorBio |
const callback = {
on: {
success: (obj) => {
console.log(obj.base64);
console.log(obj.encrypted);
},
error: (error) => {
console.error(error);
}
}
};
L'objet callback est obligatoire. S'il n'est pas correctement implémenté (en couvrant les événements success et error), le SDK lève une exception qui, si elle n'est pas gérée, s'affiche dans la console de l'utilisateur.
Étape 2 — Construire la caméra et préparer la session selfie
Construisez l'instance de la caméra et appelez prepareSelfieCamera en passant la UnicoConfig et le SelfieCameraTypes souhaité :
L'intervalle entre la génération du encrypted et son envoi à l'API ne doit pas dépasser 10 minutes.
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);
});
Pour optimiser le démarrage de la caméra, vous pouvez séparer les appels à prepareSelfieCamera() et open() — en maintenant l'étape de préparation en attente pendant que l'utilisateur navigue vers l'écran de capture.
Étape 3 — (facultatif) Utilisation dans un iFrame
Le Web SDK prend en charge le Liveness Interactif intégré dans un iFrame via prepareSelfieCameraForIFrame() :
unicoCamera.prepareSelfieCameraForIFrame(
config,
SelfieCameraTypes.SMART
).then(cameraOpener => {
cameraOpener.open(callback);
}).catch(error => {
console.error(error);
});
Implémentez l'élément <iframe> avec les permissions requises :
<iframe allow="fullscreen;camera;geolocation" allowFullScreen src="your_app_url"></iframe>
prepareSelfieCameraForIFrame() ne fonctionne qu'à l'intérieur d'un iFrame — l'utiliser en dehors génère l'erreur 73724. De même, utiliser prepareSelfieCamera() à l'intérieur d'un iFrame génère également l'erreur 73724.
Pour effectuer la capture, la page doit être en mode plein écran afin que le SDK puisse se redimensionner automatiquement. Apple restreint l'utilisation des API plein écran spécifiquement sur les iPhones (les iPads sont acceptables). Pour les captures sur iPhone, configurez manuellement le positionnement de l'iFrame.
Pour la gestion complète des résultats, consultez Réception du résultat.