Zum Hauptinhalt springen

Stille Revalidierung

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

PrepareInfo-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 implementieren

Rufen Sie die statische Methode UnicoSDK.initializeSDK auf und übergeben Sie dabei Ihre AcessoBioConfigDataSource sowie die environment.

Beim App-Start aufrufen

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

UnicoSDK.initializeSDK(
config: YourUnicoConfig(),
environment: .UAT
)

Die config ist dieselbe AcessoBioConfigDataSource, die Sie bereits für die Erfassung implementieren – der sdkKey stammt aus getHostKey() und das Bundle aus getBundleIdentifier():

final class YourUnicoConfig: NSObject, AcessoBioConfigDataSource {
func getBundleIdentifier() -> String { "your_bundle_id" }
func getHostKey() -> String { "your_sdk_key" }
}

Wenn environment weggelassen wird, ist der Standardwert .PROD.

Schritt 2 — startSilentValidation implementieren

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

let prepareInfo = PrepareInfo(externalUserId: "external_user_id")

UnicoSDK.startSilentValidation(prepareInfo: prepareInfo) { result in
switch result {
case .success:
break
case .failure(let error):
print(error.code, error.desc, error.info)
}
}

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

Fehler
CodeBedeutung
75001SDK nicht initialisiert. initializeSDK wurde nicht aufgerufen, ist noch nicht abgeschlossen oder ist fehlgeschlagen.
75000Allgemeiner Erfassungsfehler.
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 PrepareInfo 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.