携帯へのメッセージ送信フロー

携帯へのメッセージ送信フローを使用すると、SMS/音声を多要素認証(MFA)の要素として使用する際にコードを実行できますカスタムプロバイダーを使用してメッセージを送信する場合、このフローのsend-phone-messageトリガーを使用して、カスタムプロバイダーを設定する必要があります。

アクションの電話メッセージ送信フローの図。

このフロー内のアクションはブロッキング(同期的)であり、トリガーのプロセスの一部として実行されます。そのため、アクションが完了するまでAuth0パイプラインの他の部分の実行が停止されます。

トリガー

携帯へのメッセージ送信

send-phone-messageトリガーは、登録プロセスおよびチャレンジプロセスで実行されます(event.message_options.action)。また、ユニバーサルログインの新しいエクスペリエンスを使用する際、音声メッセージタイプの場合にも実行されます(event.message_options.message_type === 'voice')。

リファレンス

  • イベントオブジェクト:送信されるメッセージや、チャレンジまたは登録されるユーザーに関するコンテキスト情報が提供されます。

  • APIオブジェクト:フローの動作を変更するためのメソッドが提供されます。

一般的なユースケース

カスタムSMSプロバイダーを使用する

const AWS = require("aws-sdk");

/**
 * Handler that will be called during the execution of a SendPhoneMessage flow.
 *
 * @param {Event} event - Details about the user and the context in which they are logging in.
 */
exports.onExecuteSendPhoneMessage = async (event) => {
  const text = event.message_options.text;
  const recipient = event.message_options.recipient;

  const awsSNS = new AWS.SNS({
    apiVersion: "2010-03-31",
    region: event.secrets.AWS_REGION,
    credentials: new AWS.Credentials(event.secrets.AWS_ACCESS_KEY_ID, event.secrets.AWS_SECRET_ACCESS_KEY)
  });

  const params = { Message: text, PhoneNumber: recipient };

  return awsSNS
    .publish(params)
    .promise();
};

Was this helpful?

/