Skip to main content
Unified Phone Experience では、テナント 内の電話プロバイダー設定を 1 か所に集約できるため、さまざまな電話認証要素ごとに同じ電話プロバイダーを何度も設定する必要がありません。詳しくは、多要素認証で Auth0’s Unified Phone Experience を使用するをご覧ください。
認証要素として SMS または音声を使用している場合、エンドユーザーが application で認証を試みると、SMS または音声でコードが送信され、トランザクションを完了するにはそのコードを入力する必要があります。つまり、ユーザーはログイン 資格情報を把握しているだけでなく、 用として登録したデバイスも所持していることになります。 SMS および音声要素は、Auth0 Dashboard または を使用して設定でき、SMS や音声でメッセージを送信したり、エンドユーザーがコードの受信方法を選択できるようにしたりできます。配信プロバイダーは Actions を使用して設定することも、Twilio アカウントを設定することもできます。また、顧客に SMS のみを送信したい場合は、Auth0 のデフォルトのメッセージ配信サービスを設定できます。MFA の音声通知を有効にするには、 を使用する必要があります。

利用可否は Auth0 のプランによって異なります

この機能を利用できるかどうかは、使用しているログイン実装と Auth0 のプランまたはカスタム契約の両方によって異なります。詳しくは、Pricingをご覧ください。

仕組み

SMS と音声の両方を有効にすると、ユーザーは SMS または音声でコードを受け取って登録できます。
MFA のユーザーエクスペリエンス用に SMS と音声を設定(音声)
SMS のみを有効にした場合は、フローがよりシンプルになります。
MFA のユーザーエクスペリエンス用に SMS と音声を設定(SMS)
ユーザーが登録を完了すると、次回の認証時に、登録済みの電話番号に音声通話または SMS メッセージが届きます。

Auth0 Dashboardを使用する

  1. Auth0 Dashboard > Security > Multi-factor Auth に移動します。
  2. Phone Message を選択し、上部のトグルスイッチを有効にします。
  3. 使用するメッセージ配信プロバイダーを選択します。
  4. ユーザーが SMS と音声で認証できるようにするには、SMS 認証要素と音声認証要素を有効にし、使用する配信方法を選択する必要があります。
    1. Auth0: このプロバイダーでは音声メッセージを送信できません。Auth0 が内部設定した SMS 配信プロバイダーを使用して SMS メッセージを送信します。利用できるのは評価およびテスト目的に限られ、テナントの存続期間全体を通じて 1 テナントあたり最大 100 件までです。100 件の上限に達すると、新しいコードは受信されなくなります。
    2. Twilio: SMS の送信には Twilio Programmable SMS API、音声の送信には Twilio Programmable Voice API を使用します。Test Credentials ではなく、Twilio Live Credentials を使用してください。Test Credentials は本番環境でメッセージを送信するためのものではありません。
    3. Custom: Send Phone Message Flow の Action を呼び出してメッセージを送信します。
    また、ユーザーが SMS テキストメッセージ、音声通話、またはその両方を受け取れるようにすることもできます。

Twilio の設定

ご注意ください。Twilio では、一括インポートされた番号の移管と確認に最大 8 週間かかる場合があります。詳しくは、Twilio Help Center をご覧ください。
Twilio 経由で SMS を配信する場合は、次の手順で SMS 認証要素を設定します。
  1. Twilio でアカウントを開設します。Twilio Account SIDTwilio Auth Token が必要です。これらは、Auth0 がユーザーに SMS を送信する際に使用する Twilio API の資格情報です。
  2. 地理的リージョンに応じて、SMS または 音声 の権限を有効にする必要がある場合もあります。音声を使用する場合は、音声通話を発信できるよう有効化された Twilio 電話番号がアカウントに必要です。これは Twilio で確認済み の外部電話番号でもかまいませんし、アカウント内で Twilio 電話番号を購入して設定することもできます。
  3. 接続を設定します。Auth0 Dashboard > Security > Multi-factor Auth に移動し、Phone Message を選択します。
  4. Choose your delivery providerTwilio を選択し、配信方法を選びます。
  5. 該当するフィールドに Twilio Account SIDTwilio Auth Token を入力します。
  6. SMS Source を選択します。
    1. Use From を選択した場合は、ユーザーに SMS の送信元として表示される From 電話番号を入力する必要があります。これは Twilio 側でも設定できます。
    2. Use Messaging Services を選択した場合は、Messaging Service SID を入力する必要があります。
    3. 音声を使用している場合は、SMS で Message Services を使用していても、必ず From を設定する必要があります。電話番号が SMS と音声メッセージの両方を送信できるよう設定されていることを確認してください。
  7. Save を選択します。

SMS または音声メッセージのテンプレートをカスタマイズ

SMS と音声メッセージのテンプレートはカスタマイズできます。詳しくは、Customize SMS and Voice Messagesをご覧ください。

Management API を使用する

Management API では、/api/v2/guardian/factors/phone/message-types エンドポイントを使用して、有効にするメッセージ配信方法を設定できます。message_types パラメーターは配列で、["sms"]["voice"]、または ["sms", "voice"] を指定できます。API を呼び出すには、update:guardian_factors スコープを持つ Management API access token をベアラートークンとして使用する必要があります。

連携済みの SMS メッセージプロバイダー

Auth0 はデフォルトで、Twilio を使用したメッセージ送信をサポートしています。ただし、別の SMS プロバイダーを使用したり、メッセージ送信前に特定のロジックを追加したり、ユーザーやアプリケーションに応じて異なるメッセージを送信したりすることもできます。そのためには、SMS MFA が Send Phone Message Flow 内の連携済み Actions のいずれかを使用するように設定します。 連携済みの SMS メッセージプロバイダーには、次のものがあります。

カスタム電話プロバイダー

Actions を使用して、カスタム電話プロバイダーを設定することもできます。詳しくは、カスタム電話プロバイダーの設定をご覧ください。

セキュリティに関する考慮事項

いずれの Phone Messaging Provider を使用する場合も、攻撃者がサインアップフローを悪用すると、金銭的な損害が発生するおそれがあることに注意してください。 Auth0 では、1 人のユーザーが送信できる SMS または音声メッセージは 1 時間あたり最大 10 件までに制限されており、メールまたは認証器による OTP フローは 5 分ごとに 5 回のリクエストまでに制限されています。 (バーストレートは 10 ですが、新規リクエストでは 1 時間あたり 1 件の音声メッセージのみが送信されます。) アカウントをさらに保護するため、次の対策を検討してください。
  • Suspicious IP Throttling を有効にします。Auth0 は、1 分間に 50 回を超えるサインアップリクエストを試みた IP をブロックします。
  • Log Streaming を有効にし、gd_send_voicegd_send_voice_failuregd_send_sms、または gd_send_sms_failureログイベント件数が急増した場合に、お好みの監視ツールでアラートを設定します。
Phone Messaging Provider には追加の保護機能もあります。Twilio を使用している場合は、Twilio’s Anti-Fraud Developer Guide を参照してください。次のオプションを検討してください。
  • SMS音声 の送信先国を制限します。これは、通常ビジネスを行わない国の中に、通話料詐欺 のリスクが高い国や通話料金が高額な国がある場合に、特に有効です。
  • 不正利用やコーディングミスからアカウントを保護するために、Twilio の usage triggers を有効にします。

詳しくはこちら