カスタム電話プロバイダーを構成する

SMSメッセージのカスタム電話プロバイダーは、電話番号をユーザー識別子に使用して構成できます。カスタム電話プロバイダーは電話番号の検証とパスワードのリセットを行う際にアクションを使用して、指定の電話プロバイダーにSMSメッセージを送信します。

以下のユースケースでは、カスタム電話プロバイダーを構成することが賢明かもしれません。

  • アプリケーションのコンテキストに応じて異なる電話プロバイダーを使用する。これには、地理的な場所によって電話プロバイダーのメッセージ料金に大きな差異がある場合が含まれます。

  • 組織のコンテキストに応じて異なる電話プロバイダーを使用する。これはB2B顧客に特定のプロバイダーが必要になるかもしれない場合です。


カスタム電話プロバイダーはAuth0 DashboardまたはManagement APIを使用して構成できます。

Auth0 DashboardまたはManagement APIを使用してカスタム電話プロバイダーを構成する

カスタム電話プロバイダーを構成するにはcustom-phone-providerアクショントリガーが必要ですが、Auth0 Actionsエディターでは提供されていません。詳細については、「custom-phone-providerアクションの例」をお読みください。

Auth0 Dashboardで新しいカスタム電話プロバイダーを構成する

Auth0 Dashboardで新しいカスタム電話プロバイダーを構成するには:

  1. [Branding(ブランディング)] > [Phone Provider(電話プロバイダー)]に移動します。自動的に電話メッセージプロバイダーのページに切り替わります。デフォルトでは、Twilio電話プロバイダーが選択されています。

  2. [Phone Provider(電話プロバイダー)]セクションで、[Custom(カスタム)]の電話プロバイダーオプションを選択します。

  3. [Delivery Method:(配信方式:)]を選択します

    1. [Text(テキスト)]:認証コードはSMSでユーザーに送信されます。

    2. [Voice(音声)]:認証コードは音声メッセージでユーザーに送信されます。

  4. [Provider Configuration(プロバイダー構成)]で、カスタム電話プロバイダーを構成するためのアクションコードを記述します。

    1. プロバイダーのAPIにメッセージを配信する方法については、プロバイダーのドキュメントを参照してください。

    2. APIと認証するために必要なシークレットを追加します。

    3. (任意)[Edit in Expanded Editor(拡張エディターで編集)]ボタンをクリックすると、Actionsエディターのフルインターフェイスを使用してアクションを編集できます。Actionsエディターでアクションを編集した後、そのインターフェイスからアクションを[Save(保存)] して [Deploy(デプロイ)]します。Actionsエディターのページ上部にある[Back to Phone Provider(電話プロバイダーに戻る)]リンクをクリックして、電話メッセージプロバイダーのページに戻ります。[Phone Provider(電話プロバイダー)]セクションで、もう一度[Custom(カスタム)]の電話プロバイダーオプションを選択する必要があります。

  5. ページ下部の[Save(保存)]ボタンをクリックします。

[Save(保存)]をクリックすると、アクションの保存とデプロイが自動で行われます。運用環境で使用する前に、カスタム電話プロバイダーの構成をテストするには、[Send Test Message(テストメッセージを送信)]をクリックします。


Auth0 Dashboardを使用して、カスタムメールプロバイダーを構成できます。

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

Auth0 Dashboardで既存のカスタム電話プロバイダーを更新する方法:

  1. [Branding(ブランディング)] > [Phone Provider(電話プロバイダー)]に移動します。自動的に電話メッセージプロバイダーのページに切り替わります。

  2. 必要に応じて、電話メッセージプロバイダーのページのアクションコードを変更します。

    1. (任意)[Edit in Expanded Editor(拡張エディターで編集)]ボタンをクリックすると、Actionsエディターのフルインターフェイスを使用してアクションを編集できます。Actionsエディターでアクションを編集した後、そのインターフェイスからアクションを[Save(保存)] して [Deploy(デプロイ)]します。次に、Actionsエディターのページ上部にある[Back to Phone Provider(電話プロバイダーに戻る)]リンクをクリックします。

  3. ページ下部の[Save(保存)]ボタンをクリックします。

[Save(保存)]をクリックすると、アクションの保存とデプロイが自動で行われます。運用環境で使用する前に、カスタム電話プロバイダーの構成をテストするには、[Send Test Message(テストメッセージを送信)]をクリックします。

構成できるカスタム電話プロバイダーの例として、Twilio Verifyが挙げられます。詳細については、「Twilio Verifyを使用してカスタム電話プロバイダーを構成する」をお読みください。

custom-phone-providerアクションの例

custom-phone-providerトリガーはsend-phone-messageトリガーとは異なります。send-phone-messageトリガーをカスタム電話プロバイダーの構成に使用してはいけません。詳細については以下をお読みください。

以下はcustom-phone-providerアクションのサンプルコードです。これにはsend-phone-messageアクションの機能性が備わっています。

const { fetch } = require('undici');
/**
* Handler to be executed while sending a phone notification
* @param {Event} event - Details about the user and the context in which they are logging in.
* @param {CustomPhoneProviderAPI} api - Methods and utilities to help change the behavior of sending a phone notification.
*/
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.secrets['MY_ENDPOINT'], {
      method: 'POST',
      headers: {
        authorization: `Bearer ${event.secrets['MY_SECRET']}`,
      },
      body: JSON.stringify(body),
    });

    console.log(response.status); // 200
    console.log(await response.text()); // request's response body!
  }

  return;
};

Was this helpful?

/