メインコンテンツへスキップ
ユーザー識別子として電話番号を使用することで、SMS メッセージ用のカスタム電話プロバイダーを設定できます。カスタム電話プロバイダーでは、電話番号の検証時やパスワードのリセット時に、Actionsを使用して、選択した電話プロバイダーに SMS メッセージをルーティングします。 次のようなユースケースでは、カスタム電話プロバイダーの設定を検討するとよいでしょう。
  • アプリケーションのコンテキストに応じて、異なる電話プロバイダーを使い分ける。たとえば、電話プロバイダーのメッセージ料金が地域によって大きく異なる場合に、地理的リージョンごとに別のプロバイダーを使用できます。
  • 組織のコンテキストに応じて、異なる電話プロバイダーを使い分ける。一部の B2B 顧客では、特定のプロバイダーの利用が求められる場合があります。
カスタム電話プロバイダーは、 または を使用して設定できます。

Auth0 Dashboard または Management API を使用したカスタム電話プロバイダーの設定

カスタム電話プロバイダーを設定するには、Auth0 Actions エディターでは使用できない custom-phone-provider Action トリガーを使用する必要があります。詳細については、custom-phone-provider Action の例を参照してください。

Auth0 Dashboard でカスタム電話プロバイダーを追加する

Auth0 Dashboard で新しいカスタム電話プロバイダーを設定するには、次の手順に従います。
  1. Branding > Phone Provider に移動します。Phone Message Provider ページが表示されます。デフォルトでは、Twilio の電話プロバイダーが選択されています。
  2. Phone Provider セクションで、Custom 電話プロバイダーオプションを選択します。
  3. Delivery Method: を選択します。
    1. Text: 確認コードが SMS でユーザーに送信されます。
    2. Voice: 確認コードが音声メッセージでユーザーに送信されます。
  4. Provider Configuration で、カスタム電話プロバイダーを設定するための Actions コードを記述します。
    1. メッセージをプロバイダーの API に送信する方法については、プロバイダーのドキュメントを参照してください。
    2. API で認証するために必要なシークレットを追加します。
    3. (任意) Edit in Expanded Editor ボタンをクリックすると、完全な Actions エディター画面で Action を編集できます。Actions エディターで Action を編集したら、その画面で Action を Save して Deploy します。その後、Actions エディターページ上部の Back to Phone Provider リンクをクリックして Phone Message Provider ページに戻ります。Phone Provider セクションで Custom 電話プロバイダーオプションを再度選択する必要があります。
  5. ページ下部の Save ボタンをクリックします。
Save をクリックすると、Action は自動的に保存およびデプロイされます。本番環境で使用する前にカスタム電話プロバイダーの設定をテストするには、Send Test Message をクリックします。
カスタム電話プロバイダーの設定を保存するまでは、Send Test Message をクリックしてカスタム電話プロバイダーをテストすることはできません。

Auth0 Dashboard でカスタム電話プロバイダーを編集する

Auth0 Dashboard で既存のカスタム電話プロバイダーを編集するには、次の手順に従います。
  1. Branding > Phone Provider に移動します。Phone Message Provider ページが表示されます。
  2. 必要に応じて、Phone Message Provider ページ上の Action コードを変更します。
    1. (任意) Edit in Expanded Editor ボタンをクリックすると、完全な Actions エディター画面で Action を編集できます。Actions エディターで Action を編集したら、その画面で Action を Save して Deploy します。次に、Actions エディターページ上部の Back to Phone Provider リンクをクリックします。
  3. ページ下部の Save ボタンをクリックします。
Save をクリックすると、Action は自動的に保存およびデプロイされます。本番環境で使用する前にカスタム電話プロバイダーの設定をテストするには、Send Test Message をクリックします。
設定可能なカスタム電話プロバイダーの例として、Twilio Verify があります。詳細は、Twilio Verify を使用してカスタム電話プロバイダーを設定する を参照してください。

custom-phone-provider Action の例

custom-phone-provider トリガーは send-phone-message トリガーとは別のものであり、カスタム電話プロバイダーの設定に send-phone-message トリガーを使用しないでください。詳細については、以下を参照してください。 以下のコードサンプルは、send-phone-message Action と同等の機能を持つ custom-phone-provider Action です。
/**
* 電話通知の送信時に実行されるハンドラー*
* @param {Event} event - ユーザーおよびログイン時のコンテキストの詳細。
* @param {CustomPhoneProviderAPI} api - 電話通知の送信動作を変更するためのメソッドとユーティリティ。
*/
exports.onExecuteCustomPhoneProvider = async (event, api) => {

  if (event.notification.message_type.startsWith('otp')) {
    const body = {
      from: event.notification.from,
      action: event.notification.message_type === 'otp_verify' ? 'second-factor-authenticator' : 'enrollment',
      language: event.notification.locale,
      recipient: event.notification.recipient,
      message_type: event.notification.delivery_method,
      text: event.notification.as_text,
      code: event.notification.code,
    };

    const response = await fetch(event.secret.SERVICE_URL, {
      method: 'POST',
      headers: {
        authorization: `Bearer ${event.secrets.TOKEN}`,
      },
      body: JSON.stringify(body),
    });

    console.log(response);
  }

  return;
};