メインコンテンツへスキップ
SMSメッセージのカスタム電話プロバイダーは、電話番号をユーザー識別子に使用して構成できます。カスタム電話プロバイダーは電話番号の検証とパスワードのリセットを行う際にアクションを使用して、指定の電話プロバイダーにSMSメッセージを送信します。 以下のユースケースでは、カスタム電話プロバイダーを構成することが賢明かもしれません。
  • アプリケーションのコンテキストに応じて異なる電話プロバイダーを使用する。これには、地理的な場所によって電話プロバイダーのメッセージ料金に大きな差異がある場合が含まれます。
  • 組織のコンテキストに応じて異なる電話プロバイダーを使用する。これはB2B顧客に特定のプロバイダーが必要になるかもしれない場合です。
カスタム電話プロバイダーはまたはを使用して構成できます。

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

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

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(テストメッセージを送信)] をクリックします。
カスタム電話プロバイダーの設定を保存するまでは、[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;
};
I