高度なサイレント認証 - 非同期実装 [Alpha]
注:Silent Authentication Advancedは現在アルファ段階である。つまり、エンド・ツー・エンドのテストはまだできません。キャリアがサポートされるまでは、デバイスからのトークン取得は機能しません。現段階では、すべての Silent Authentication Advanced ドキュメントは主に情報リソースとして機能します。以下のドキュメントを使用できます。 バーチャル・オペレーター 開発およびテスト用。
このガイドでは、Vonage Verify API を使用して Android に Silent Authentication Advanced を実装する方法を説明します。Silent Authentication Advancedの詳細については、以下のコンセプトガイドを参照してください。 サイレント認証.
Silent Authentication Advancedは、現在Androidでのみサポートされており、iOSは将来のリリースでサポートされる予定です。ウェブ・ブラウザの実装については、以下のガイドを参照してください。 ウェブ・ブラウザのための高度なサイレント認証これは、デスクトップ/ラップトップのフロー(QRコード+ブルートゥース近接)をカバーし、モバイル・ブラウザのバリエーションについても言及している。
Silent Authentication Advanced は現在、非同期実装のみをサポートしている。以下のように設定する必要がある。 ウェブフック・エンドポイント を使用して認証結果を受け取る。同期実装のサポートは将来のリリースを予定している。
前提条件
- Vonage APIアカウント
- に登録されたApplication。 ネットワーク・レジストリ.これは本番使用のみに必要です。本番以外のテストには バーチャル・オペレーター その代わりだ。
- TS.43対応SIMカードを搭載したAndroid端末
- ウェブフック・エンドポイント 非同期認証結果を受信するように構成されている。
アプリケーションの作成
まず、次のページにアクセスする。 開発者ダッシュボード でアプリケーションを作成します:
- Capabilities」でVerifyが有効になっていることを確認する。
- コールバックイベントを受信するように Status URL を設定します。
- を生成する。 JWT アプリケーションのアプリケーションIDと秘密鍵を使用する。
検証リクエストの開始
サイレント認証の高度な検証プロセスを開始するには、次のコマンドを追加します。 mode パラメータをVerifyリクエストのワークフローに追加します。
以下の例はリクエストの構造を示している。実行可能な完全な実装については API仕様の検証.
{
"client_ref": "myPersonalRef",
"brand": "ACME",
"workflow": [
{
"channel": "silent_auth",
"to": "'$VERIFY_NUMBER'",
"mode": "advanced"
},
{
"channel": "sms",
"to": "'$VERIFY_NUMBER'"
}
]
}
注:複数のチャネルを使用する場合、Silent Authentication Advanced は、ワークフロー内で最初にリストされるチャネルである必要があります。現在、1 つのワークフロー内に存在できる Silent Authentication チャネルは 1 つのみです。
ネットワークがカバーされていない場合など、サイレント認証の高度なチェックが失敗した場合、Verifyは自動的にバックアップチャンネルに切り替えます。 ワークフローで定義されている場合SMSや音声通話を含む。
TS.43トークンの取得
SIMからTS.43認証トークンを取得するには、2つの方法があります:
Vonage Android Client SDKの使用方法
をご利用いただけます。 Client Android SDK を使用してSIMからTS.43認証トークンをフェッチするか、テレフォニーAPIを使用してチャレンジ・レスポンス・フローを直接実装します。
Android Credential Manager API の直接使用
- アプリケーションのバックエンドは、TS.43(nonce、アグリゲータJWT、ヒント)のDCQLでOpenID4VPリクエストを作成します。
- 次に、アプリケーションは Android Credential Manager API にリクエストを送信する。この段階で、ユーザはシステム UI を介して同意する。
- Android Telephonyは、SIMを使用してキャリア・エンタイトルメント・サーバーから暗号化されたTS.43 SD-JWTクレデンシャルを生成します。
トークンのチェック
以下の例はリクエストの構造を示している:
{
"token": "$TOKEN"
}
注:tokenパラメータはcodeパラメータと排他的であり、Silent Authentication Advancedにのみ適用される。
認証プロセスを完了するには、トークンを /v2/verify/:request_id エンドポイントを参照してください。を参照のこと。 API仕様の検証 リクエストとレスポンスの詳細については
バーチャルオペレーターによるテスト
注:仮想オペレータは、バックエンド API 呼び出しのみをサポートします。デバイスとの完全なエンドツーエンドのトークン交換フローはシミュレートされません。
偶数は成功を、奇数は失敗を示します。これにより、コールバックとエラー処理を安全にテストできます。詳細については バーチャル・オペレーター を案内する。