高度なサイレント認証 - 非同期実装 [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 は現在、非同期実装のみをサポートしている。以下のように設定する必要がある。 ウェブフック・エンドポイント を使用して認証結果を受け取る。同期実装のサポートは将来のリリースを予定している。

Carrier / Entitlement ServerVonage SDKVerifyApp BEMobile DeviceCarrier / Entitlement ServerVonage SDKVerifyApp BEMobile Devicealt[Option A: customer uses Vonage SDK][Option B: customer fetches token directly (Android Credential Manager)]Fail over to next channel with sync response and event callbackalt[Alternative: Auth result is error or match=false]Send verify request (mode=advanced)Send auth data (via callback)Send auth dataFetch tokenReturn tokenFetch token (Android Credential Manager API)Return tokenSend tokenPOST /v2/verify/:request_id (token)HTTP 200 (status: completed)Event callback (results)

前提条件

アプリケーションの作成

まず、次のページにアクセスする。 開発者ダッシュボード でアプリケーションを作成します:

  • 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 の直接使用

  1. アプリケーションのバックエンドは、TS.43(nonce、アグリゲータJWT、ヒント)のDCQLでOpenID4VPリクエストを作成します。
  2. 次に、アプリケーションは Android Credential Manager API にリクエストを送信する。この段階で、ユーザはシステム UI を介して同意する。
  3. Android Telephonyは、SIMを使用してキャリア・エンタイトルメント・サーバーから暗号化されたTS.43 SD-JWTクレデンシャルを生成します。

トークンのチェック

以下の例はリクエストの構造を示している:

{
   "token": "$TOKEN"
}

:tokenパラメータはcodeパラメータと排他的であり、Silent Authentication Advancedにのみ適用される。

認証プロセスを完了するには、トークンを /v2/verify/:request_id エンドポイントを参照してください。を参照のこと。 API仕様の検証 リクエストとレスポンスの詳細については

バーチャルオペレーターによるテスト

:仮想オペレータは、バックエンド API 呼び出しのみをサポートします。デバイスとの完全なエンドツーエンドのトークン交換フローはシミュレートされません。

偶数は成功を、奇数は失敗を示します。これにより、コールバックとエラー処理を安全にテストできます。詳細については バーチャル・オペレーター を案内する。

さらに読む