Aller au contenu principal

Revalidation silencieuse

Utilise le moteur de Revalidation silencieuse, qui analyse le contexte comportemental de l'utilisateur au sein de l'effet de réseau d'Unico et fournit le signal de confiance pour la transaction en cours. Autrement dit, nous fournissons le niveau de confiance qu'il s'agit bien de l'utilisateur attendu dans la transaction.

Attributs de PrepareInfo
AttributTypeObligatoireDescription
externalUserIdStringIdentifiant de l'utilisateur dans votre système. Automatiquement haché avec SHA-256 avant la transmission, jamais envoyé en texte clair.
Démarrer une revalidation silencieuse
Étape 1 — Implémenter initializeSDK

Créez une nouvelle classe/objet UnicoSDK, avec une méthode statique initializeSDK qui renvoie l'instance UnicoSDK, en recevant le context et un UnicoSDKConfig avec vos sdkKey, bundleId et environment. Conservez l'instance renvoyée — elle sera nécessaire plus tard pour appeler startSilentValidation depuis Java.

Appelez-la au lancement de l'application

UnicoSDK.initializeSDK doit être appelée le plus tôt possible au lancement de l'application (par exemple, Application.onCreate). L'appeler plus tard réduit le temps de traitement en arrière-plan et augmente le risque de réponses d'authentification non concluantes.

UnicoSDK.initializeSDK(
context,
UnicoSDKConfig(
sdkKey = "your_sdk_key",
bundleId = "your_bundle_id",
environment = Environment.UAT
)
)
Étape 2 — Implémenter startSilentValidation

Après initializeSDK, associez la collecte déjà en cours à l'utilisateur identifié en appelant startSilentValidation avec un PrepareInfo contenant l'externalUserId.

val prepareInfo = PrepareInfo(
externalUserId = "external_user_id"
)

UnicoSDK.startSilentValidation(prepareInfo)
.onSuccess { result -> /* ... */ }
.onFailure { error -> /* ... */ }

Si la validation a lieu au début du flux, par exemple lors de la connexion, attendez le callback onSuccess avant de passer à l'étape 3.

Étape 3 — Créer le processus et authentifier

Avec la validation en cours, créez le processus de vérification pour finaliser l'authentification. Voir Référence API ▸ API ▸ Créer un processus.

Incluez le même externalUserId envoyé dans le PrepareInfo à l'étape 2 dans le corps de la requête — c'est ce qui permet au backend de corréler la création du processus avec la validation déjà en cours.

curl -X POST https://api.id.unico.app/processes/v1 \
-H "Authorization: Bearer $TOKEN" \
-H "APIKEY: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"subject": {
"duiType": 1,
"code": "12345678909",
"name": "Luke Skywalker",
"gender": "M",
"birthDate": "2000-05-20",
"email": "[email protected]",
"phone": "5519725570707"
},
"useCase": "Onboarding",
"externalUserId": "external_user_id"
}'

La réponse inclut le champ silentAuth.result avec le résultat de l'authentification :

{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"silentAuth": {
"result": "yes"
}
}
ChampTypeDescription
silentAuth.resultstringyes ou no — voir les valeurs possibles ci-dessous.
silentAuth.result — valeurs possibles
ValeurSignification
yesAuthentification approuvée, utilisateur reconnu avec une confiance suffisante, aucune capture supplémentaire nécessaire.
noDonnées insuffisantes pour approuver silencieusement. Il est recommandé de procéder à une authentification par biométrie (selfie) ou une autre méthode alternative.