Skip to main content
auth0.jsライブラリを使用してカスタムログインページを構築している場合は、Auth0 がrequestを高リスクと判断したときに CAPTCHA ステップをレンダリングするための を有効にできます。 カスタムログインフォームのコードでは、ユーザーに CAPTCHA ステップの完了を求めるケースに対応する必要があります。これを考慮していないと、アプリケーションでエラーが発生する可能性があります。
ボット検出は、Auth0 がホストするカスタムログインページでのみサポート対象です。テナントでこの機能を有効にするには、アカウント担当者への連絡が必要になる場合があります。

カスタムログインページテンプレートを使用する

Auth0 では、高リスクのログインに対応するコードと組み合わせて使用できるテンプレートを提供しています。
  1. Auth0 Dashboard > Branding > Universal Login に移動し、Classic を選択します。
  2. Login タブをクリックし、まだ有効になっていない場合は Customize Login Page スイッチを有効にします。
  3. Default Templates ドロップダウンメニューで、Custom Login Form を選択します。
    Auth0 Dashboard Branding Universal Login Classic Login タブ Custom Login Form
  4. 提供されているテンプレートを使って、ログインページのカスタマイズを始めます。
    Custom Login Pages のソースコードの管理には、バージョン管理ソフトウェアの使用をおすすめします。詳しくは、Classic Login Page Version Control をご覧ください。
  5. バージョン管理ソフトウェアを使用していない場合は、Auth0 Dashboard でテンプレートをソースコードに直接置き換えることができます。
  6. Preview を選択して、新しいフォームを確認します。
  7. 変更を保存 を選択します。

ログインフォームをカスタマイズする

ボット検出をサポートするには、auth0.js ライブラリのバージョン 9.28 以降を使用する必要があります。 <script src="https://cdn.auth0.com/js/auth0/9.28/auth0.min.js"></script>
  1. パスワード入力欄の下、サインアップボタンとログインボタンの上に、CAPTCHA をレンダリングするための要素を追加します。例: <div class="captcha-container"></div>
  2. WebAuth コンストラクターの後に、loginCaptcha コンポーネントと signupCaptcha コンポーネントを初期化します。
  3. login メソッドを呼び出すときは、captcha プロパティに loginCaptcha.getValue() の値を設定します。
    login メソッドのコールバック関数パラメーター (cb) について詳しくは、auth0.js ドキュメントの WebAuth を参照してください。
  4. signupAndLogin メソッドを呼び出すときは、captcha プロパティに signupCaptcha.getValue() の値を設定します。
    signupAndLogin メソッドのコールバック関数パラメーター (cb) について詳しくは、auth0.js ドキュメントの WebAuth を参照してください。
  5. 汎用的なエラー処理ロジックで、loginCaptcha コンポーネントと signupCaptcha コンポーネントを再読み込みします。

CAPTCHA テンプレートを設定する

renderCaptcha メソッドと renderSignupCaptcha メソッドを呼び出す際は、options パラメーターを使用して、各サポート対象の CAPTCHA プロバイダーのテンプレートを設定できます。 options パラメーターの templates プロパティでは、次のプロパティをサポートしています。 各プロバイダーのデフォルトのテンプレート関数について詳しくは、GitHub 上の auth0.js/src/web-auth/captcha.jsを参照してください。

パスワードレスフローをサポートする

フローでボット検出をサポートするには、auth0.js ライブラリのバージョン 9.24 以降を使用する必要があります。 <script src="https://cdn.auth0.com/js/auth0/9.24/auth0.min.js"></script>
  1. 送信ボタンの上に CAPTCHA をレンダリングする要素を追加します。ユーザー名/パスワードによるログインもサポートしている場合は、パスワードレス CAPTCHA 用に別の要素を作成する必要があります。例: <div class="passwordless-captcha-container"></div>
  2. WebAuth コンストラクターの後で、パスワードレスフロー用の CAPTCHA コンポーネントを初期化します。
  3. Passwordless の呼び出しに captcha プロパティを追加し、エラーが発生した場合は CAPTCHA コンポーネントを再読み込みします。

詳細