Node.js

Vonage Verify APIの追加

Vonage SDKのインポート

のトップにある。 server.jsVonageの設定を追加します:

const { Auth } = require("@vonage/auth");
const { Verify2 } = require("@vonage/verify2");
require("dotenv").config();

// Configure Vonage credentials
const credentials = new Auth({
  applicationId: process.env.VONAGE_APP_ID,
  privateKey: process.env.VONAGE_PRIVATE_KEY,
});

const verifyClient = new Verify2(credentials);
  • を使用する。 dotenv 環境変数をロードする。
  • について Auth クラスは、アプリケーション ID と秘密鍵を使用して API リクエストを認証します。
  • について Verify2 クライアントは Verify API とのやりとりを処理します。

検証開始

に取り組もう。 /verification エンドポイントを呼び出します。このエンドポイントはモバイル・アプリケーションから呼び出され、ユーザーをVerifyするプロセスを開始する。

app.post("/verification", async (req, res) => {
  const { phone } = req.body || null;

  if (!phone) {
    return res.status(400).json({ error: "Phone number is required." });
  }

  try {
    const result = await verifyClient.newRequest({
      brand: "DemoApp",
      workflow: [
        {
          channel: "silent_auth",
          to: phone,
        },
        {
          channel: "sms",
          to: phone,
        },
      ],
    });

    return res.json({
      request_id: result.requestId,
      check_url: result.checkUrl,
    });
  } catch (error) {
    console.error(error.response);
    return res.status(error.response.status).json({ error: error.message });
  }
});
  • このエンドポイントは
    POST
    メソッドを使用し、リクエスト・ボディにユーザーの電話番号を指定します。
  • 認証プロセスはサイレント認証ワークフローを使用する。Silent Authが失敗すると、SMSにフォールバックする。
  • すべてがうまくいけば、エンドポイントはモバイルアプリにレスポンスを返す。 request_id そして check_url.モバイルアプリは check_url を使って携帯電話会社にリクエストを送信し、指定された電話番号からのトラフィックかどうかをVerifyする。これについては、モバイルアプリの実装について説明するときに詳しく説明する。

検証コードをチェック

次に /check-code エンドポイントである:

app.post("/check-code", async (req, res) => {
  const { request_id, code } = req.body;

  if (!request_id || !code) {
    return res.status(400).json({ error: "Request ID and code are required." });
  }

  try {
    const result = await verifyClient.checkCode(request_id, code);

    return res.json({
      verified: result === "completed",
    });
  } catch (error) {
    return res.status(400).json({ error: error.message });
  }
});
  • このエンドポイントは、ユーザーによって入力されたコードを検証します。
  • コードが一致すれば、次のように返される。 verified: true をモバイルアプリケーションに追加する。

コールバック

このチュートリアルでは、Verify APIをバックエンドに統合するための非同期アプローチに従います。ドキュメントによると、イベントの更新を受け取るコールバックを実装する必要があります。

まず ダッシュボードをクリックし、左側のApplicationsメニューを開きます。前のステップで作成した Applications をクリックし、Edit ボタンをクリックします。

ネットワーク・レジストリ」機能までスクロールダウンし、スイッチをオンにして「Verify(SA)」機能を有効にします。このセクションでは、サーバーが受信イベントをリッスンするコールバックURLを指定する必要があります。以下のようなものを追加してください:

http://your-server-ip:3000/callback

以下のコードを server.js ファイル:

app.post("/callback", (req, res) => {
  console.log("Callback received:", req.body);
  return res.status(200).json({ status: req.body.status });
});
  • Vonageは、Silent Authが完了したときなど、報告するイベントがあるときにこのエンドポイントを呼び出します。
  • 受信したデータを記録し、成功のメッセージで応答する。