साइलेंट पुनर्सत्यापन
साइलेंट पुनर्सत्यापन इंजन का उपयोग करता है, जो Unico के नेटवर्क प्रभाव के भीतर उपयोगकर्ता के व्यवहारिक संदर्भ का विश्लेषण करता है और वर्तमान लेनदेन के लिए विश्वास संकेत प्रदान करता है। दूसरे शब्दों में, हम लेनदेन में अपेक्षित उपयोगकर्ता होने के विश्वास स्तर को प्रदान करते हैं।
न्यूनतम संस्करण: 4.62.0
| विशेषता | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
externalUserId | String | ✅ | आपके सिस्टम में उपयोगकर्ता पहचानकर्ता। ट्रांसमिशन से पहले SHA-256 के साथ स्वचालित रूप से हैश किया जाता है, कभी भी प्लेन टेक्स्ट में नहीं भेजा जाता। |
चरण 1 — नेटिव कोड में initializeSDK को इम्प्लीमेंट करें
initializeSDK को Dart में एक्सपोज़ नहीं किया गया है। इसे Flutter इंजन शुरू होने से पहले चलना होता है, इसलिए आप इसे अपने ऐप के नेटिव कोड में कॉल करते हैं — Android पर Application.onCreate और iOS पर application(_:didFinishLaunchingWithOptions:)।
UnicoSDK.initializeSDK को ऐप लॉन्च पर यथासंभव जल्द से जल्द कॉल किया जाना चाहिए। इसे बाद में कॉल करने से बैकग्राउंड प्रोसेसिंग समय कम हो जाता है और अनिर्णायक (inconclusive) प्रमाणीकरण प्रतिक्रियाओं की संभावना बढ़ जाती है।
- 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
)
)
}
}
android/app/src/main/AndroidManifest.xml में क्लास को रजिस्टर करें:
<application android:name=".MainApplication">
प्लगइन नेटिव कैप्चर SDK को आपके एप्लिकेशन के लिए एक्सपोज़ करता है, इसलिए UnicoSDK पहले से ही आपके compile classpath पर है — android/app/build.gradle में किसी अतिरिक्त डिपेंडेंसी की आवश्यकता नहीं है।
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)
}
}
config एक AcessoBioConfigDataSource है — sdkKey, getHostKey() से आता है और bundle, getBundleIdentifier() से:
final class YourUnicoConfig: NSObject, AcessoBioConfigDataSource {
func getBundleIdentifier() -> String { "your_bundle_id" }
func getHostKey() -> String { "your_sdk_key" }
}
यदि environment को छोड़ दिया जाता है, तो डिफ़ॉल्ट production होता है।
चरण 2 — startSilentValidation को इम्प्लीमेंट करें
initializeSDK के बाद, पहले से चल रहे कलेक्शन को पहचाने गए उपयोगकर्ता के साथ जोड़ने के लिए externalUserId वाले UnicoCheckPrepareInfo के साथ startSilentValidation को कॉल करें।
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
}
रिटर्न किया गया Future तब पूरा होता है जब वैलिडेशन सफलतापूर्वक शुरू हो जाता है, और विफलता पर UnicoError थ्रो करता है।
यदि वैलिडेशन फ्लो की शुरुआत में होता है, उदाहरण के लिए लॉगिन के समय, तो चरण 3 पर आगे बढ़ने से पहले Future के पूरा होने की प्रतीक्षा करें।
| कोड | अर्थ |
|---|---|
75001 | SDK इनिशियलाइज़ नहीं किया गया है। initializeSDK को कॉल नहीं किया गया था, अभी तक पूरा नहीं हुआ है, या विफल हो गया। |
75000 | सामान्य कैप्चर विफलता। |
UnicoError.info उस फ्लो के चरण को दर्शाता है जो विफल हुआ। यह iOS पर प्रदान किया जाता है और Android पर सदैव null होता है।
चरण 3 — प्रोसेस बनाएँ और प्रमाणित करें
वैलिडेशन चल रहे होने के दौरान, प्रमाणीकरण पूरा करने के लिए वेरिफिकेशन प्रोसेस बनाएँ। देखें API Reference ▸ API ▸ Create Process।
रिक्वेस्ट बॉडी में वही externalUserId शामिल करें जो चरण 2 में UnicoCheckPrepareInfo में भेजा गया था — यही बैकएंड को प्रोसेस निर्माण को पहले से चल रहे वैलिडेशन के साथ सहसंबंधित (correlate) करने की अनुमति देता है।
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"
}'
प्रतिक्रिया (response) में प्रमाणीकरण परिणाम के साथ silentAuth.result फ़ील्ड शामिल होता है:
{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"silentAuth": {
"result": "yes"
}
}
| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
silentAuth.result | string | yes या no — संभावित मान नीचे देखें। |
silentAuth.result — संभावित मान
| मान | अर्थ |
|---|---|
yes | प्रमाणीकरण स्वीकृत, उपयोगकर्ता को पर्याप्त विश्वास के साथ पहचाना गया, किसी अतिरिक्त कैप्चर की आवश्यकता नहीं है। |
no | साइलेंट रूप से स्वीकृत करने के लिए अपर्याप्त डेटा। बायोमेट्रिक्स (सेल्फी) या किसी अन्य वैकल्पिक विधि के माध्यम से प्रमाणीकरण करने की सिफारिश की जाती है। |