サイレント認証サンドボックスの使用

この機能は非推奨です。この機能は サイレント認証のための仮想オペレーター そして ネットワーク・レジストリ・プレイグラウンドこれには、バーチャルナンバーに関連する遊び場を利用するためのガイダンスが含まれている。

サイレント認証 は、携帯電話の SIM(Subscriber Identity Module)を使用して、ユーザーの入力なしにユーザーの ID を証明します。認証に成功したことをテストするためには、携帯電話上で動作するアプリケーションからモバイルネットワーク経由でコードを実行する必要があります。

サンドボックスを稼働させるには5つのステップがある:

  1. アプリケーションの作成
  2. JWTの生成
  3. サイレント認証リクエストの送信
  4. にGETリクエストを送る。 check_url コールバックで
  5. 送信 code チェックコードのエンドポイントへ

アプリケーションの作成

まず、次のことが必要だ。 アプリケーションを作成する をクリックします。アプリケーションの名前を入力し、「Generate public and private key(公開鍵と秘密鍵を生成する)」をクリックします - 秘密鍵は次のステップでJWTを生成するために使用されます。Verify APIを有効にし、Status URLをお客様の ウェブフック で、リクエストのコールバックを受け取ります:

Create an application using the Vonage developer dashboard.

Generate new application」をクリックしてアプリケーションを作成します。

JWTの生成

サイレント認証を使用する、 リクエストにJWT認証を使用する必要があります。 さもなければ、それを実装するために必要なウェブフックを受け取ることができません。

次に、リクエストを認証するためにJWTを生成する必要があります。 これ.アプリケーションIDと秘密鍵が必要です。

サイレント認証リクエストの送信

ここで、サイレント認証リクエストを送信する。次の例では $JWT をJWTに追加します:

    curl -X POST 'https://api.nexmo.com/v2/verify' \
    -H 'Authorization: Bearer $JWT' \
    -H 'Content-Type: application/json' \
    -d '{"brand": "Your Brand",
        "workflow": [
        {"to": "447701000002", "channel": "silent_auth","sandbox":true }]
    }' 

の値を使用して、サイレント認証チェックの結果を変更できます。 to フィールドにいる:

to フィールド 成果
00, 99例えば 447701000099 failed - チェックを完了することができない。
奇数、例. 447701000001 user_rejected - チェックは成功したが、ユーザーは認証されなかった。
偶数、例. 447701000002 completed - チェックに成功し、ユーザーは認証された。

リクエストを送信すると、次のようなレスポンスが返ってくる。 request_id そして check_url:

{
  "request_id": "31eaf23d-b2db-4c42-9d1d-e847e75ab330",
  "check_url": "https://api.nexmo.com/v2/verify/31eaf23d-b2db-4c42-9d1d-e847e75ab330/silent-auth/redirect"
}

にGETリクエストを送る。 check_url コールバックで

次に、コールバックに次のようなイベントが送られます。 status: action_pending - これは、APIがサイレント認証チェックの結果を待っていることを意味する。このリクエストは通信事業者には送信されないので、自分で完了させる必要がある。この場合 check_url:

{
    "request_id": "c11236f4-00bf-4b89-84ba-88b25df97315",
    "triggered_at": "2020-01-01T14:00:00.000Z",
    "type": "event",
    "channel": "silent_auth",
    "status": "action_pending",
    "action": {
        "type":"check"
        "check_url": "https://eu.api.silent.auth/phone_check/v0.1/checks/c11236f4-00bf-4b89-84ba-88b25df97315/redirect"
    }
}

GET
リクエストを送る必要がある。 check_urlその結果、いくつかの HTTP30x という返答が返ってくる:

HTTP/1.1 302 Found
Location: https://eu.api.silentauth.com/phone_check/v0.2/checks/31eaf23d-b2db-4c42-9d1d-e847e75ab330/redirect
HTTP/1.1 308 Temporary Redirect
Location: https://sandbox.redirect.m-auth.com/callback/sandbox?id=31eaf23d-b2db-4c42-9d1d-e847e75ab330

リダイレクトに従うと、次のようなメッセージが表示されます。 code:

{
  "request_id": "31eaf23d-b2db-4c42-9d1d-e847e75ab330",
  "code": "si9sfG"
}

送信 code チェックコードのエンドポイントへ

チェックを完了するには、コードを check-code エンドポイントである:

curl --X POST \
  --url https://api.nexmo.com/v2/verify/$REQUEST_ID \
  -H "Authorization: Bearer "$JWT\
  -H 'Content-Type: application/json' \
  -d $'{
    "code": "si9sfG"
}'

チェック結果を含む最終応答を受け取ります。成功した場合

HTTP/1.1 200 OK
Content-Type: application/json

{
  "request_id": "31eaf23d-b2db-4c42-9d1d-e847e75ab330",
  "status": "completed"
}

あるいは検証に失敗した場合:

HTTP/1.1 409 CONFLICT
Content-Type: application/json

{
  "title": "Network error",
  "detail": "The Silent Auth request could not be completed due to formatting or the carrier is not supported."
}