メインコンテンツへスキップ

サイレント再検証

MarkdownChatGPTClaude

サイレント再検証エンジンを使用し、Unicoのネットワーク効果の中でユーザーの行動コンテキストを分析することで、現在の取引に対する信頼シグナルを提供します。つまり、取引において想定通りのユーザーであるという確信度を提供します。

要件

最低バージョン: 4.62.0

UnicoCheckPrepareInfo属性
属性型必須説明
externalUserIdString✅お客様のシステムにおけるユーザー識別子。送信前に自動的にSHA-256でハッシュ化され、平文で送信されることはありません。
サイレント再検証の開始
ステップ1 — ネイティブコードで initializeSDK を実装する

initializeSDK はDartには公開されていません。Flutterエンジンの起動前に実行する必要があるため、アプリのネイティブコードから呼び出します — Androidでは Application.onCreate、iOSでは application(_:didFinishLaunchingWithOptions:) です。

アプリ起動時に呼び出す

UnicoSDK.initializeSDK は、アプリ起動時にできるだけ早く呼び出す必要があります。呼び出しが遅れると、バックグラウンド処理の時間が短くなり、認証結果が判定不能になる可能性が高くなります。

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 はすでにコンパイルクラスパスに含まれています — android/app/build.gradle に追加の依存関係は必要ありません。

environment を省略した場合、デフォルトは本番環境になります。

ステップ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 の完了を待機してください。

エラー
コード意味
75001SDKが初期化されていません。initializeSDK が呼び出されていない、まだ完了していない、または失敗しました。
75000汎用的なキャプチャ失敗。

UnicoError.info には、失敗したフローのステップが含まれます。iOSでは提供され、Androidでは常にnullになります。

ステップ3 — プロセスを作成して認証する

検証が進行中の状態で、認証を完了させるために検証プロセスを作成します。APIリファレンス ▸ API ▸ プロセスの作成 を参照してください。

ステップ2の UnicoCheckPrepareInfo で送信したものと同じ 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サイレントで承認するにはデータが不十分です。生体認証(セルフィー)またはその他の代替方法による認証が推奨されます。