メインコンテンツへスキップ
Twilio Verify を使用して、カスタム電話プロバイダーを設定できます。これにより、不正利用の防止とユーザーアカウントの保護に役立つ Twilio Verify を、カスタム電話プロバイダーとして設定できます。

前提条件

有効な SMS 配信オプションまたは電話配信オプションを利用できる Twilio アカウントが必要です。

Twilio Verify サービスを設定する

Twilio Console または Verify REST API を使用して、Twilio Verify サービスを作成できます。Auth0 のカスタム電話プロバイダーを Twilio Verify に接続するには、次の情報が必要です。
  • TWILIO_ACCOUNT_SID
  • TWILIO_AUTH_TOKEN
  • TWILIO_VERIFY_SID

Twilio Verify でカスタム電話プロバイダーを連携する

  1. Auth0 Dashboard で Branding > 電話プロバイダー に移動します。すると、Phone Message Provider ページが開きます。
  2. 電話プロバイダー として Custom を選択します。
  3. Provider Configuration で、Twilio API がユーザーの電話番号に電話メッセージを送信できるよう、次のコードサンプルを追加します。
/**
* 電話通知の送信時に実行されるハンドラー
* @param {Event} event - ユーザーおよびログインコンテキストの詳細。
* @param {CustomPhoneProviderAPI} api - 電話通知の送信動作を変更するためのメソッドとユーティリティ。
*/
exports.onExecuteCustomPhoneProvider = async (event, api) => {
 const { TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, TWILIO_VERIFY_SID } = event.secrets;

  const client = require('twilio')(TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN);

  // auth0 の voice 値を call にマッピング
  const messageType = event.notification.delivery_method === 'voice' ? 'call' : 'sms';

  const { recipient, code } = event.notification;

  // " 1333444999  " を修正するために追加
  // "333 444 5555"
  const sanitizedNumber = recipient.replace(/\s/g, '').trim();

  await client.verify.v2.services(TWILIO_VERIFY_SID)
    .verifications.create({
      to: sanitizedNumber,
      channel: messageType,
      customCode: code
    })

};
  1. Key アイコンをクリックして Secrets メニューを開きます。Twilio Verify サービスの設定から、次の値を追加します。
  • TWILIO_ACCOUNT_SID
  • TWILIO_AUTH_TOKEN
  • TWILIO_VERIFY_SID
  1. Twilio ヘルパーライブラリを読み込むには、Dependency アイコンをクリックします。次に、Add Dependency ボタンをクリックします。Add Dependency ポップアップウィンドウが表示されたら、以下を入力します。
  • Name: Twilio
  • Version: latest (自動入力されます)
Create をクリックすると、Auth0 が Twilio ヘルパーライブラリを検索して、最新バージョンを読み込みます。
  1. Save をクリックします。Save をクリックすると、Action は自動的に保存およびデプロイされます。本番環境で使用する前にカスタム電話プロバイダーの設定をテストするには、Send Test Message をクリックします。