Aller au contenu principal

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.

Capacité

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.

Fonctionnement

Le SDK gère l'intégralité de la session de capture :

  1. Ouvre la caméra avec la superposition SmartFrame.
  2. Guide l'utilisateur pour positionner son visage dans le cadre.
  3. Valide la vivacité — la session ne se termine que lorsque l'utilisateur est physiquement présent.
  4. Renvoie un objet avec base64 (aperçu) et encrypted (JWT pour l'API) via le callback success.
Mode caméra (smart ou normal)

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.

Démarrer une capture liveness
É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 :

GestionnaireQuand 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);
}
}
};
Callback obligatoire

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é :

Expiration du token

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);
});
conseil

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>
La méthode doit correspondre au contexte

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.

Plein écran sur iPhone

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.