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.
Mindestversion: 4.62.0
| Attribut | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
externalUserId | String | ✅ | Benutzerkennung in Ihrem System. Wird vor der Übertragung automatisch mit SHA-256 gehasht und niemals im Klartext gesendet. |
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.
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.
- Android
- iOS
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.
import AcessoBio
import Flutter
import UIKit
@main
class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
UnicoSDK.initializeSDK(config: YourUnicoConfig(), environment: .UAT)
GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
}
Die config ist eine AcessoBioConfigDataSource – 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 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.
| Code | Bedeutung |
|---|---|
75001 | SDK nicht initialisiert. initializeSDK wurde nicht aufgerufen, ist noch nicht abgeschlossen oder ist fehlgeschlagen. |
75000 | Allgemeiner 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"
}
}
| Feld | Typ | Beschreibung |
|---|---|---|
silentAuth.result | string | yes oder no – siehe mögliche Werte unten. |
silentAuth.result — mögliche Werte
| Wert | Bedeutung |
|---|---|
yes | Authentifizierung genehmigt, Nutzer mit ausreichendem Vertrauen erkannt, keine zusätzliche Erfassung erforderlich. |
no | Unzureichende Daten für eine stille Genehmigung. Es wird empfohlen, über Biometrie (Selfie) oder eine andere alternative Methode zu authentifizieren. |