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

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

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

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

أنشئ فئة/كائن UnicoSDK جديدًا، يحتوي على طريقة ثابتة (static) باسم initializeSDK تُعيد نسخة (instance) من UnicoSDK، وتستقبل context وكائن UnicoSDKConfig يحتوي على sdkKey وbundleId وenvironment. احتفظ بالنسخة المُعادة — فهي مطلوبة لاحقًا لاستدعاء startSilentValidation من Java.

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

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

UnicoSDK.initializeSDK(
context,
UnicoSDKConfig(
sdkKey = "your_sdk_key",
bundleId = "your_bundle_id",
environment = Environment.UAT
)
)
الخطوة 2 — تنفيذ startSilentValidation

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

val prepareInfo = PrepareInfo(
externalUserId = "external_user_id"
)

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

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

الخطوة 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بيانات غير كافية للموافقة الصامتة. يُنصح بالمصادقة عبر القياسات الحيوية (السيلفي) أو طريقة بديلة أخرى.