SMSでのパスワードレス認証
パスワードレス接続を構成して、SMS経由でユーザーにワンタイムパスワード(OTP)を送信し、認証を完了できます。
詳細については、「パスワードレス認証にメールまたはSMSを構成する」をお読みください。
Auth0は、TwilioとカスタムSMSゲートウェイを使用したOTPの送信をサポートしています。カスタムSMSゲートウェイを使用する場合は、「パスワードレス接続用にカスタムSMSゲートウェイを設定する」をお読みください。
仕組み
新しいユーザーがコードを受け取り、アプリケーションで初めて入力すると、Auth0によって認証される前に、sms
接続でユーザープロファイルが作成されます。
OTPが送信された電話番号が既存のユーザーと一致する場合、Auth0はユーザーを認証します。
埋め込みログイン

ユニバーサルログイン

カスタムSMSゲートウェイ
埋め込みログインまたはユニバーサルログイン用にカスタムSMSゲートウェイを構成することもできます。

接続を構成する
Auth0 Dashboardで、[Authentication(認証)]>[Passwordless(パスワードレス)]に移動し、[SMS]トグルを有効にします。
[SMS]を選択して構成ウィンドウを開きます。
Twilio設定を構成する
TwilioアカウントSIDとTwilio認証トークンが必要になります。これらは、Auth0がユーザーにSMSを送信するために使用するTwilio API資格情報です。
TwilioアカウントSIDとTwilio認証トークンを入力します。
SMSソースを選択し、TwilioメッセージングサービスSIDまたは送信元電話番号を入力します。ユーザーには、SMSの送信者として入力したものが表示されます。
カスタムSMSゲートウェイを構成する
独自のSMSゲートウェイを使用する場合は、パスワードレス接続を作成し、Auth0 Management APIを使用して変更する必要があります。詳細については、「パスワードレス接続用にカスタムSMSゲートウェイを設定する」をお読みください。
パスワードレスSMS設定を構成する
メッセージに、SMSの本文を入力します。
OTPの有効期限とOTPの長さの設定を調整します。
最後に発行されたワンタイムパスワード(またはリンク)のみが受け入れられます。最新のパスワードが発行されると、他のパスワードは無効になります。最新のパスワードも、一度使用すると無効になります。
ワンタイムパスワードの入力は、3回しか試行できません。その後は、新しいコードを要求する必要があります。
発行されたワンタイムパスワードは、期限が切れるまで(デフォルトでは)3分間有効です。
ワンタイムパスワードの有効期限を延長する場合は、ワンタイムパスワードコードの長さも延長する必要があります。そうしないと、攻撃者が短いコードを推測しようとする時間が長くなります。
サインアップを無効にするかどうかを決定します。この設定を有効にすると、既存のユーザーのみにパスワードレスアクセスを許可できますが、アプリケーションがユーザー列挙攻撃の脅威にさらされる可能性があります。詳細については、「パスワードレス接続のベストプラクティス」をお読みください。
[Save(保存)]を選択します。
多言語サポート
メッセージ領域は複数の言語をサポートしています。
言語を指定するには、Auth0 Authentication API Get CodeまたはLinkエンドポイントを呼び出して、x-request-language
ヘッダーの値を設定します。このヘッダーが設定されていない場合、言語はブラウザによって自動的に設定されるaccept-language
ヘッダーから抽出されます。
メッセージ構文
メッセージ領域はLiquid構文を受け入れます。この構文をパラメーター値と組み合わせて使用して、プログラムでメッセージの要素を構築できます。
たとえば、request_language
パラメーターを参照してメッセージの言語を変更できます。
{% if request_language contains 'dutch' %}
Hier is uw verificatie code: {{ password }}
{% endif %}
{% if request_language contains 'fr-FR' %}
Ceci est votre code: {{ password }}
{% endif %}
Was this helpful?
メッセージテンプレートを定義するときに使用できるパラメーターは次のとおりです。
パラメーター | 説明 |
---|---|
password またはcode |
使用するパスワード。 |
phone_number |
ユーザーの電話番号。 |
application.name |
ユーザーがサインアップしているアプリケーションの名前。 |
request_language |
メッセージの内容で要求されている言語。 |
Liquidの使用について詳しくは、「Liquid for Designers on GitHub」をご覧ください。
アプリケーションを有効にする
アプリケーションビューに切り替えて、パスワードなしの SMS を使用するアプリケーションを有効にします。