الانتقال إلى المحتوى الرئيسي

إعادة التحقق الصامتة

يستخدم محرك إعادة التحقق الصامتة، الذي يحلل السياق السلوكي للمستخدم ضمن تأثير الشبكة الخاص بـ Unico ويقدّم إشارة الثقة الخاصة بالمعاملة الحالية. بعبارة أخرى، نقدّم مستوى الثقة بأن هذا هو المستخدم المتوقع في المعاملة.

المتطلب

الحد الأدنى للإصدار: 3.3.0

سمات PrepareInfo
السمةالنوعمطلوبالوصف
externalUserIdString✅معرّف المستخدم في نظامك. يتم تجزئته تلقائيًا باستخدام SHA-256 قبل الإرسال، ولا يُرسل مطلقًا بنص عادي.
بدء إعادة التحقق الصامتة
الخطوة 1 — تنفيذ initializeSDK

استدعِ الطريقة الثابتة (static) UnicoSDK.initializeSDK، مع تمرير AcessoBioConfigDataSource الخاص بك وenvironment.

استدعِها عند إطلاق التطبيق

يجب استدعاء UnicoSDK.initializeSDK في أقرب وقت ممكن عند إطلاق التطبيق (مثال: application(_:didFinishLaunchingWithOptions:)). استدعاؤها لاحقًا يقلل من وقت المعالجة في الخلفية ويزيد من احتمال الحصول على استجابات مصادقة غير حاسمة.

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

config هو نفس AcessoBioConfigDataSource الذي نفّذته بالفعل من أجل الالتقاط — يُؤخذ sdkKey من getHostKey() ومعرّف الحزمة من getBundleIdentifier():

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

إذا تم حذف environment، فإن القيمة الافتراضية هي .PROD.

الخطوة 2 — تنفيذ startSilentValidation

بعد initializeSDK، اربط عملية الجمع الجارية بالفعل بالمستخدم الذي تم تحديده عن طريق استدعاء startSilentValidation مع كائن PrepareInfo يحتوي على externalUserId.

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

إذا حدث التحقق في بداية التدفق، على سبيل المثال عند تسجيل الدخول، انتظر رد الاتصال الخاص بالنجاح قبل الانتقال إلى الخطوة 3.

الأخطاء
الرمزالمعنى
75001لم يتم تهيئة SDK. لم يتم استدعاء initializeSDK، أو لم ينتهِ بعد، أو فشل.
75000فشل عام في الالتقاط.
الخطوة 3 — إنشاء العملية والمصادقة

مع استمرار التحقق، أنشئ عملية التحقق لإكمال المصادقة. راجع مرجع API ▸ API ▸ إنشاء العملية.

أدرِج نفس externalUserId المُرسل في PrepareInfo من الخطوة 2 داخل نص الطلب (request body) — هذا ما يسمح للخادم الخلفي (backend) بربط إنشاء العملية بالتحقق الجاري بالفعل.

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

تتضمن الاستجابة الحقل silentAuth.result الذي يحمل نتيجة المصادقة:

{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"silentAuth": {
"result": "yes"
}
}
الحقلالنوعالوصف
silentAuth.resultstringyes أو no — راجع القيم المحتملة أدناه.
silentAuth.result — القيم المحتملة
القيمةالمعنى
yesتمت الموافقة على المصادقة، تم التعرف على المستخدم بثقة كافية، ولا حاجة لالتقاط إضافي.
noبيانات غير كافية للموافقة الصامتة. يُنصح بالمصادقة عبر القياسات الحيوية (السيلفي) أو طريقة بديلة أخرى.