Zum Hauptinhalt springen

Stille Revalidierung

MarkdownChatGPTClaude

Nutzt die Engine für Stille Revalidierung, die den Verhaltenskontext des Nutzers im Rahmen des Netzwerkeffekts von Unico analysiert und das Vertrauenssignal für die aktuelle Transaktion liefert. Mit anderen Worten: Wir liefern das Vertrauensniveau dafür, dass es sich um den erwarteten Nutzer in der Transaktion handelt.

Voraussetzung

Mindestversion: 4.62.0

UnicoCheckPrepareInfo-Attribute
AttributTypErforderlichBeschreibung
externalUserIdString✅Benutzerkennung in Ihrem System. Wird vor der Übertragung automatisch mit SHA-256 gehasht und niemals im Klartext gesendet.
Stille Revalidierung starten
Schritt 1 — initializeSDK im nativen Code implementieren

initializeSDK wird in Dart nicht bereitgestellt. Die Methode muss ausgeführt werden, bevor die Flutter-Engine startet, daher rufen Sie sie im nativen Code Ihrer App auf — Application.onCreate unter Android und application(_:didFinishLaunchingWithOptions:) unter iOS.

Beim App-Start aufrufen

UnicoSDK.initializeSDK muss so früh wie möglich beim App-Start aufgerufen werden. Ein späterer Aufruf verringert die Zeit für die Hintergrundverarbeitung und erhöht die Wahrscheinlichkeit unschlüssiger Authentifizierungsantworten.

import android.app.Application
import com.acesso.acessobio_android.onboarding.UnicoSDK
import com.acesso.acessobio_android.onboarding.models.Environment
import com.acesso.acessobio_android.onboarding.models.UnicoSDKConfig

class MainApplication : Application() {
override fun onCreate() {
super.onCreate()

UnicoSDK.initializeSDK(
this,
UnicoSDKConfig(
sdkKey = "your_sdk_key",
bundleId = "your_bundle_id",
environment = Environment.UAT
)
)
}
}

Registrieren Sie die Klasse in android/app/src/main/AndroidManifest.xml:

<application android:name=".MainApplication">

Das Plugin stellt Ihrer Anwendung das native Erfassungs-SDK bereit, sodass UnicoSDK bereits in Ihrem Compile-Classpath enthalten ist – in android/app/build.gradle ist keine zusätzliche Abhängigkeit erforderlich.

Wenn environment weggelassen wird, ist der Standardwert die Produktionsumgebung.

Schritt 2 — startSilentValidation implementieren

Verknüpfen Sie nach initializeSDK die bereits laufende Erfassung mit dem identifizierten Nutzer, indem Sie startSilentValidation mit einem UnicoCheckPrepareInfo aufrufen, das die externalUserId enthält.

import 'package:unico_check/unico_check.dart';

try {
await UnicoSilentAuthDefault().startSilentValidation(
UnicoCheckPrepareInfo(externalUserId: 'external_user_id'),
);
} on UnicoError catch (error) {
// error.code, error.description, error.info
}

Das zurückgegebene Future wird abgeschlossen, wenn die Validierung erfolgreich startet, und wirft bei einem Fehlschlag UnicoError.

Wenn die Validierung am Anfang des Ablaufs stattfindet, zum Beispiel beim Login, warten Sie auf den Abschluss des Future, bevor Sie mit Schritt 3 fortfahren.

Fehler
CodeBedeutung
75001SDK nicht initialisiert. initializeSDK wurde nicht aufgerufen, ist noch nicht abgeschlossen oder ist fehlgeschlagen.
75000Allgemeiner Erfassungsfehler.

UnicoError.info enthält den Schritt des Ablaufs, der fehlgeschlagen ist. Der Wert wird unter iOS bereitgestellt und ist unter Android immer null.

Schritt 3 — Prozess erstellen und authentifizieren

Erstellen Sie, während die Validierung läuft, den Verifizierungsprozess, um die Authentifizierung abzuschließen. Siehe API-Referenz ▸ API ▸ Prozess erstellen.

Fügen Sie im Request-Body dieselbe externalUserId ein, die in Schritt 2 im UnicoCheckPrepareInfo gesendet wurde – dadurch kann das Backend die Prozesserstellung mit der bereits laufenden Validierung korrelieren.

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"
}'

Die Antwort enthält das Feld silentAuth.result mit dem Authentifizierungsergebnis:

{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"silentAuth": {
"result": "yes"
}
}
FeldTypBeschreibung
silentAuth.resultstringyes oder no – siehe mögliche Werte unten.
silentAuth.result — mögliche Werte
WertBedeutung
yesAuthentifizierung genehmigt, Nutzer mit ausreichendem Vertrauen erkannt, keine zusätzliche Erfassung erforderlich.
noUnzureichende Daten für eine stille Genehmigung. Es wird empfohlen, über Biometrie (Selfie) oder eine andere alternative Methode zu authentifizieren.