サイレント再検証
| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
externalUserId | String | ✅ | あなたのシステムにおけるユーザー識別子。送信前に SHA-256 で自動的にハッシュ化され、平文で送信されることはありません。 |
ステップ1 — initializeSDK を実装する
新しい UnicoSDK クラス/オブジェクトを作成し、context と、sdkKey、bundleId、environment を含む UnicoSDKConfig を受け取って UnicoSDK インスタンスを返す静的な initializeSDK メソッドを実装します。返されたインスタンスは保持してください — 後で Java から startSilentValidation を呼び出す際に必要になります。
UnicoSDK.initializeSDK は、アプリ起動時(例: Application.onCreate)にできるだけ早く呼び出す必要があります。呼び出しが遅れると、バックグラウンド処理の時間が短くなり、認証結果が判定不能になる可能性が高まります。
- 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)
);
ステップ2 — startSilentValidation を実装する
initializeSDK の後、externalUserId を含む PrepareInfo を指定して startSilentValidation を呼び出すことで、すでに進行中の収集処理を識別済みのユーザーに関連付けます。
- Kotlin
- Java
val prepareInfo = PrepareInfo(
externalUserId = "external_user_id"
)
UnicoSDK.startSilentValidation(prepareInfo)
.onSuccess { result -> /* ... */ }
.onFailure { error -> /* ... */ }
startSilentValidation は Kotlin の suspend 関数であり、Java から直接呼び出すことはできません。コルーチンを起動し、単純なコールバックインターフェースを公開する小さな Kotlin ブリッジをプロジェクトに追加してください。
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) {
/* ... */
}
});
ログイン時など、フローの開始時点で検証が行われる場合は、ステップ3に進む前に onSuccess コールバックを待ってください。
ステップ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",
"imageBase64": "/9j/4AAQSkZJR..."
}'
レスポンスには、認証結果を示す silentAuth.result フィールドが含まれます:
{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"silentAuth": {
"result": "yes"
}
}
| フィールド | 型 | 説明 |
|---|---|---|
silentAuth.result | string | yes または no — 可能な値については以下を参照してください。 |
silentAuth.result — 可能な値
| 値 | 意味 |
|---|---|
yes | 認証が承認されました。ユーザーは十分な確度で認識されており、追加のキャプチャは不要です。 |
no | サイレントに承認するにはデータが不十分です。生体認証(セルフィー)またはその他の代替方法による認証を推奨します。 |