サイレント再検証
サイレント再検証エンジンを使用し、Unicoのネットワーク効果の中でユーザーの行動コンテキストを分析することで、現在の取引に対する信頼シグナルを提供します。つまり、取引において想定通りのユーザーであるという確信度を提供します。
最低バージョン: 3.3.0
| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
externalUserId | String | ✅ | お客様のシステムにおけるユーザー識別子。送信前に自動的にSHA-256でハッシュ化され、平文で送信されることはありません。 |
ステップ1 — initializeSDK を実装する
静的な UnicoSDK.initializeSDK メソッドを呼び出し、AcessoBioConfigDataSource と environment を渡します。
UnicoSDK.initializeSDK は、アプリ起動時にできるだけ早く呼び出す必要があります(例: application(_:didFinishLaunchingWithOptions:))。呼び出しが遅れると、バックグラウンド処理の時間が短くなり、認証結果が判定不能になる可能性が高くなります。
- Swift
- Objective-C
UnicoSDK.initializeSDK(
config: YourUnicoConfig(),
environment: .UAT
)
[UnicoSDK initializeSDKWithConfig:[YourUnicoConfig new] 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 の後、externalUserId を含む PrepareInfo を指定して startSilentValidation を呼び出すことで、進行中のコレクションを識別済みのユーザーに関連付けます。
- Swift
- Objective-C
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)
}
}
PrepareInfo *prepareInfo = [[PrepareInfo alloc] initWithExternalUserId:@"external_user_id"
useCase:nil];
[UnicoSDK startSilentValidationWithPrepareInfo:prepareInfo
errorCompletion:^(ErrorBio * _Nullable error) {
if (error == nil) {
// ...
} else {
// error.code, error.desc, error.info
}
}];
ログイン時など、検証がフローの開始時点で行われる場合は、ステップ3に進む前に成功コールバックを待機してください。
| コード | 意味 |
|---|---|
75001 | SDKが初期化されていません。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.result | string | yes または no — 詳細な値については以下を参照してください。 |
silentAuth.result — 可能な値
| 値 | 意味 |
|---|---|
yes | 認証が承認され、十分な確信度でユーザーが認識されたため、追加のキャプチャは不要です。 |
no | サイレントで承認するにはデータが不十分です。生体認証(セルフィー)またはその他の代替方法による認証が推奨されます。 |