Revalidasi Senyap
Menggunakan mesin Revalidasi Senyap, yang menganalisis konteks perilaku pengguna dalam efek jaringan Unico dan memberikan sinyal keyakinan untuk transaksi saat ini. Dengan kata lain, kami memberikan tingkat keyakinan bahwa inilah pengguna yang diharapkan dalam transaksi tersebut.
| Attribute | Type | Required | Description |
|---|---|---|---|
externalUserId | String | ✅ | Pengidentifikasi pengguna di sistem Anda. Di-hash secara otomatis dengan SHA-256 sebelum transmisi, tidak pernah dikirim dalam bentuk teks biasa. |
Langkah 1 — Menerapkan initializeSDK
Buat class/objek UnicoSDK baru, dengan metode statis initializeSDK yang mengembalikan instance UnicoSDK, menerima context dan UnicoSDKConfig dengan sdkKey, bundleId, dan environment Anda. Simpan instance yang dikembalikan — instance ini diperlukan nanti untuk memanggil startSilentValidation dari Java.
UnicoSDK.initializeSDK harus dipanggil sesegera mungkin saat aplikasi diluncurkan (mis., Application.onCreate). Memanggilnya lebih lambat mengurangi waktu pemrosesan latar belakang dan meningkatkan kemungkinan respons autentikasi yang tidak meyakinkan.
- Kotlin
- Java
UnicoSDK.initializeSDK(
context,
UnicoSDKConfig(
sdkKey = "your_sdk_key",
bundleId = "your_bundle_id",
environment = Environment.UAT
)
)
UnicoSDK sdk = UnicoSDK.initializeSDK(
context,
new UnicoSDKConfig("your_sdk_key", "your_bundle_id", Environment.UAT)
);
Langkah 2 — Menerapkan startSilentValidation
Setelah initializeSDK, kaitkan pengumpulan yang sudah berlangsung dengan pengguna yang teridentifikasi dengan memanggil startSilentValidation menggunakan PrepareInfo yang berisi externalUserId.
- Kotlin
- Java
val prepareInfo = PrepareInfo(
externalUserId = "external_user_id"
)
UnicoSDK.startSilentValidation(prepareInfo)
.onSuccess { result -> /* ... */ }
.onFailure { error -> /* ... */ }
startSilentValidation adalah fungsi suspend Kotlin — Java tidak dapat memanggilnya secara langsung. Gunakan jembatan di bawah ini untuk membuat koneksi.
interface SilentAuthCallback {
fun onSuccess(success: Boolean)
fun onFailure(message: String?)
}
object SilentAuthBridge {
@JvmStatic
fun startSilentValidation(
owner: LifecycleOwner,
sdk: UnicoSDK,
externalUserId: String,
callback: SilentAuthCallback
) {
owner.lifecycleScope.launch {
val result = sdk.startSilentValidation(PrepareInfo(externalUserId, null))
result.onSuccess { callback.onSuccess(it.success) }
.onFailure { callback.onFailure(it.message) }
}
}
}
SilentAuthBridge.startSilentValidation(this, sdk, externalUserId, new SilentAuthCallback() {
@Override
public void onSuccess(boolean success) {
/* ... */
}
@Override
public void onFailure(String message) {
/* ... */
}
});
Jika validasi terjadi di awal alur, misalnya saat login, tunggu callback onSuccess sebelum melanjutkan ke Langkah 3.
Langkah 3 — Membuat proses dan melakukan autentikasi
Dengan validasi yang sedang berlangsung, buat proses verifikasi untuk menyelesaikan autentikasi. Lihat Referensi API ▸ API ▸ Buat Proses.
Sertakan externalUserId yang sama yang dikirim dalam PrepareInfo dari Langkah 2 di dalam body permintaan — inilah yang memungkinkan backend mengaitkan pembuatan proses dengan validasi yang sudah berlangsung.
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"
}'
Respons ini mencakup field silentAuth.result yang berisi hasil autentikasi:
{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"silentAuth": {
"result": "yes"
}
}
| Field | Type | Description |
|---|---|---|
silentAuth.result | string | yes atau no — lihat nilai yang mungkin di bawah ini. |
silentAuth.result — nilai yang mungkin
| Value | Meaning |
|---|---|
yes | Autentikasi disetujui, pengguna dikenali dengan keyakinan yang memadai, tidak diperlukan pengambilan tambahan. |
no | Data tidak cukup untuk menyetujui secara senyap. Disarankan untuk melakukan autentikasi melalui biometrik (selfie) atau metode alternatif lain. |