跳转到主要内容

静默重新验证

使用静默重新验证引擎,在 Unico 网络效应范围内分析用户的行为背景,并为当前交易提供置信度信号。换句话说,我们提供的是判断当前用户是否为该交易预期用户的置信水平。

要求

最低版本:3.3.0

PrepareInfo 属性
属性类型是否必填描述
externalUserIdString✅您系统中的用户标识符。传输前会自动使用 SHA-256 进行哈希处理,绝不会以明文形式发送。
开始静默重新验证
步骤 1 — 实现 initializeSDK

调用静态方法 UnicoSDK.initializeSDK,传入您的 AcessoBioConfigDataSource 和 environment。

在应用启动时调用

UnicoSDK.initializeSDK 必须在应用启动时尽早调用(例如在 application(_:didFinishLaunchingWithOptions:) 中)。延迟调用会缩短后台处理时间,并增加认证结果不确定的可能性。

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

config 就是您已经为采集功能实现的同一个 AcessoBioConfigDataSource——sdkKey 来自 getHostKey(),bundle 来自 getBundleIdentifier():

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

如果省略 environment,默认值为 .PROD。

步骤 2 — 实现 startSilentValidation

在 initializeSDK 之后,通过调用 startSilentValidation 并传入包含 externalUserId 的 PrepareInfo,将已在进行中的采集与已识别的用户关联起来。

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。

错误
代码含义
75001SDK 未初始化。initializeSDK 尚未被调用、尚未完成,或调用失败。
75000通用采集失败。
步骤 3 — 创建流程并进行认证

在验证进行的同时,创建验证流程以完成认证。请参阅 API 参考 ▸ API ▸ 创建流程。

在请求正文中包含与步骤 2 中 PrepareInfo 所发送的相同 externalUserId——这样后端才能将流程创建与已在进行中的验证关联起来。

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数据不足,无法静默通过认证。建议通过生物识别(自拍)或其他替代方式进行认证。