Skip to main content

概要

主なポイント
  • Auth0 Dashboard または Management API を使用してパスワードリセットを開始できます。
このトピックでは、データベース内のユーザーのパスワードをリセットするさまざまな方法について説明します。パスワードを変更できるのは、データベース接続 のユーザーに限られます。ソーシャル または エンタープライズ 接続でサインインするユーザーは、 (Google や Facebook など) 側でパスワードをリセットする必要があります。なお、以下の手順は、ユーザーのメールアドレスがわかっている場合にのみ利用できます。 ユーザーのパスワードを変更する基本的な方法は 2 つあります。
ユーザーのパスワードをリセットすると、そのセッションは失効します。

お探しの情報が見つかりませんか?

対話型パスワードリセットフローを開始する

ユースケースに応じて、対話型パスワードリセットフローを開始するには 2 つの方法があります。 ページを使用する方法と、Authentication API を使用する方法です。

Universal Login ページ

アプリケーションで Universal Login を使用している場合、ユーザーはログイン画面の Lock widget からパスワードリセットメールを送信できます。Universal Login では、ユーザーは パスワードをお忘れですか? リンクをクリックし、メールアドレスを入力できます。すると Auth0 への POST リクエストが送信され、パスワードリセット処理が開始されます。ユーザーにはパスワードリセットメールが送信されます

Authentication API

アプリケーションで Authentication API を介した対話型パスワードリセットフローを使用している場合は、POST リクエストを送信します。email フィールドには、パスワードを変更する必要があるユーザーのメールアドレスを指定します。呼び出しが成功すると、ユーザーはパスワードリセットメールを受け取ります ブラウザーから API を呼び出す場合は、オリジン URL が許可されていることを確認してください。 Auth0 Dashboard > アプリケーション > アプリケーション に移動し、その URL を Allowed Origins (CORS) リストに追加します。 接続がカスタムデータベースである場合は、changePassword のために Authentication API を呼び出す前に、そのユーザーがデータベース内に存在するか確認してください。

パスワードリセットメール

パスワードリセットがどのように開始されたかにかかわらず、ユーザーにはパスワードをリセットするためのリンクを含むメールが送信されます。
Password Reset Email
リンクをクリックすると、ユーザーはパスワードリセットページに移動します。 新しいパスワードを送信すると、新しい資格情報でログインできるようになったことを示す確認メッセージが表示されます。 パスワードリセットに関する注意事項:
  • メール内のパスワードリセットリンクは、1 回しか使用できません。
  • ユーザーが複数のパスワードリセットメールを受け取った場合、有効なのは最新のメールに含まれるパスワードリンクだけです。
  • URL Lifetime フィールドで、リンクの有効期間を設定します。Auth0 Dashboard から、Change Password メールをカスタマイズしたり、リンクの有効期間を変更したりできます。
  • Auth0 Actions を使うと、パスワードリセットフローを拡張して別の認証要素を追加できます。詳しくは、Password Reset Flowをご覧ください。
クラシックログインでは、パスワードリセット完了後にユーザーをリダイレクトする URL を設定できます。この URL は、成功を示す値とメッセージを受け取ります。詳しくは、Customize Email Templates の「Configuring the Redirect-To URL」セクションをご覧ください。 Universal Loginでは、成功するとユーザーはデフォルトのログインルートにリダイレクトされ、エラー時の処理は Universal Login フローの一部として行われます。この動作では、メールテンプレート内の Redirect URL は無視されます。

Password Reset チケットを生成する

Management API には、パスワードリセットメール内のリンクと同様の URL を生成する Create a Password Change Ticket エンドポイントがあります。生成された URL は、メールでの配信方法が適切でない場合に使用できます。ただし、デフォルトのフローでは、メール配信によってユーザーのアイデンティティが検証される点に注意してください。 (なりすましではメールの受信箱にアクセスできません。) チケット URL を使用する場合は、別の方法でユーザーのアイデンティティを検証する責任をアプリケーションが負います。

新しいパスワードを直接設定する

ユーザーにパスワードリセットメールを送信せずに新しいパスワードを直接設定するには、Management API または Auth0 Dashboard を使用できます。
ユーザーのパスワードを変更しても、ユーザーには通知されません。

Management API を使用する

独自のパスワードリセットフローを実装する場合は、サーバーから Management API にリクエストを送信して、ユーザーのパスワードを直接変更できます。ユーザーを更新 エンドポイントPATCH リクエストを行ってください。
Management API を使用して ユーザーを更新 エンドポイント 経由でユーザーのパスワードを設定または更新する場合は、Auth0 Dashboard で設定した強度ポリシーが適用されます。

Auth0 Dashboard を使用してユーザーのパスワードを手動で設定する

Auth0 テナントに対する管理者権限があれば、Auth0 Dashboard > User Management > Users でユーザーのパスワードを手動で変更できます。
  1. パスワードを変更するユーザーの名前を選択します。
  2. ページの下部にある Danger Zone までスクロールします。
  3. 赤い Change Password ボックスで、Change を選択します。
    パスワードを手動で設定
  4. 新しいパスワードを入力し、Save を選択します。