Auth0 は基本的な SMS 認証をサポートしていません。
- SMS のパスワードレス接続を設定します。方法については、Passwordless Connections の Implement Passwordless セクションを参照してください。
- Management API 用のアクセストークンを取得します。これは、Management API を呼び出してパスワードレス接続を更新する際に必要です。
- GET Connections エンドポイントを使用して、テナントに関連付けられている接続の情報を取得します。具体的には、後で接続自体を更新する API 呼び出しで使用するために、パスワードレス SMS 接続の ID を取得する必要があります。
次の Management API 呼び出しを行う前に、必ず
ACCESS_TOKENを手順 1 で取得したトークンに置き換えてください。
"name": "sms" プロパティを探します。この接続には現在、セットアップ時に指定した Twilio の情報が表示されていることを確認してください。
-
接続を更新します。これは、Update a Connection endpoint に PATCH リクエストを送信することで実行できます。具体的には、SMS Gateway に関する情報を指定するために、接続の
optionsオブジェクトを更新します。 次の変更を行います。twilio_sidとtwilio_tokenの両方のパラメーターを削除するproviderパラメーターを追加し、sms_gatewayに設定するgateway_urlパラメーターを追加し、SMS Gateway の URL に設定する。Auth0 がこの URL にアクセスできる必要があります。これにより、Auth0 はこの gateway を使用して、ユーザーに代わってメッセージを送信できます。
認証付きリクエスト
options オブジェクトに次の内容を追加できます。
options オブジェクトに gateway_authentication を含めると、Auth0 は SMS ゲートウェイにリクエストを送信するたびに、Authorization ヘッダーに JSON Web Token を追加します。このトークンには gateway_authentication.subject と gateway_authentication.audience の値が含まれ、gateway_authentication.secret で署名されます。
secret が base64-url エンコードされている場合は、secret_base64_encoded を true に設定します。
接続を更新すると、ユーザーが 接続でサインアップまたはログインするたびに、Auth0 は以下の内容を SMS Gateway に送信します。
options オブジェクトの forward_req_info プロパティを true に設定すると、ゲートウェイはパスワードレスプロセスを開始した HTTP リクエストの情報も受け取ります。これには、/passwordless/start を呼び出したクライアントの IP アドレスとユーザーエージェントが含まれます。
エラー処理
/passwordless/start エンドポイントは HTTP 400 コードと、次のようなレスポンスを返します。
error_description は SMS ゲートウェイ の呼び出し中に認証に失敗しました: 401 となります。 (エラー説明の文言は、予告なく変更される場合があることにご注意ください。)
Auth0 では、カスタム SMS Gateway への HTTP 呼び出しに 30 秒のタイムアウトが設定されています。SMS Gateway からこの時間内に応答がない場合、/passwordless/start エンドポイントも HTTP 400 を返します。レスポンスは上記の形式となり、error_description フィールドは SMS ゲートウェイ の呼び出し中にタイムアウトしました: <Timeout Code> となります。 (重ねてになりますが、エラー説明の文言は予告なく変更される場合があります。)