パスワードリセット
Logto は、ユーザーがパスワードを忘れた場合や変更したい場合に、安全にアカウントへのアクセスを回復できる包括的なパスワードリセット機能を提供しています。この機能はメールや SMS など複数の認証方法をサポートしており、ユーザーは希望する通信チャネルでアクセスを回復できます。
アカウント回復のためのパスワードを忘れた場合
設定方法
パスワードを忘れた場合の機能を有効にするには:
-
コネクターの設定:メール または SMS コネクターを コンソール > コネクター > メールおよび SMS コネクター で設定します。
-
ユーザー連絡先情報の収集:サインアップ 時や アカウント設定 で、ユーザーがメールアドレスまたは電話番号を登録していることを確認します。
-
認証方法の有効化:
-
コンソール > サインイン体験 > サインアップとサインイン
に移動します。 - サインイン方法として パスワード を有効にします。
- パスワードを忘れた場合 のために メール認証コード および / または 電話認証コード を追加します。
-
-
保存とテスト:変更を保存し、ライブプレビュー でテストします。
ユーザー体験フロー
パスワードリセット機能を有効にすると、サインインフォームの下に「パスワードを忘れた場合」リンクボタンが表示されます。ユーザーはこのリンクをクリックしてパスワードリセットプロセスを開始できます。
- サインインページにアクセス:ユーザーがサインインページにアクセスします。
- 「パスワードを忘れた場合」リンクをクリック:ユーザーが「パスワードを忘れた場合」リンクをクリックします。
- メール / 電話番号の入力:「パスワードを忘れた場合」リンクをクリックすると、登録済みのメールアドレスまたは電話番号を入力できる新しいページにリダイレクトされます。
- 認証コードの送信:Logto は入力されたメールアドレスまたは電話番号に認証コードを送信し、コード認証ページにリダイレクトします。
- 認証コードの入力:ユーザーはメールまたは電話で受け取った認証コードを入力します。Logto はコードと、そのメールアドレスまたは電話番号に紐づくユーザーの本人確認を行います。
- 新しいパスワードの入力:認証コードが正常に認証されると、新しいパスワードの入力を求められます。
- パスワードリセット成功:入力されたパスワードがパスワードポリシー要件を満たしていれば、パスワードが正常に更新されます。
- サインインページへリダイレクト:ユーザーはサインインページにリダイレクトされ、新しいパスワードでサインインできます。

サインイン後のパスワード更新
認証済みユーザーは、アプリ内のアカウント設定画面からパスワードを変更(または初回設定)できます。Account API を使った構築方法は アカウント設定 を参照してください。
ユーザーがパスワードを持っているか確認する
ユーザーデータには、ユーザーが現在パスワード認証情報を保持しているかどうかを示すブール値フィールド hasPassword
があります。
hasPassword
を取得する方法:
- Management API:例
GET /api/users/:id
(ユーザーオブジェクトに含まれます) - カスタムトークンクレーム:
hasPassword
を ID / アクセストークンに注入(追加の API コールなしでフロントエンドの UI 分岐が可能)
その後、Account API エンドポイントを呼び出してパスワードを設定または更新します(リクエスト詳細はアカウント設定ガイド参照)。これまでパスワードを持っていなかったユーザーの場合、古いパスワードフィールドは不要(かつ要求すべきではありません)。
メール / 電話 / ユーザー名登録で「パスワード設定」が必須でも、ソーシャルサインインのみで作成されたユーザーは、初期状態でパスワード作成をスキップします(利便性向上のため)。これらのユーザーは hasPassword = false
となり、後から明示的に設定するまでパスワードを持ちません。セキュリティ要件がない限り、ソーシャルサインアップ直後に即座のパスワード設定を強制しないでください。文脈に応じた遅延プロンプトの方がコンバージョン率が高い傾向にあります。
カスタムパスワードポリシー
パスワードの長さ、文字要件、単語制限などをカスタマイズして、ビジネスのセキュリティニーズとユーザー体験のバランスを取ることができます。これらの設定は セキュリティ > パスワードポリシー セクションで設定できます。詳細は パスワードポリシー ドキュメントを参照してください。
よくある質問
パスワードリセット成功後にユーザーをサインアウトさせるには?
ユーザーがパスワードを正常にリセットした際に通知を受け取るには、PostResetPassword
Webhook イベント を購読してください。その後、サインアウト アクションをトリガーして、ユーザーの現在のセッションを無効化し、サインインページへリダイレクトできます。
独自 UI でパスワードリセットフローを実装するには?
Logto の Management API および Account API を利用して独自のパスワードリセットフローを実装できます。詳細は アカウント設定 をご覧ください。
パスワードリセットリンクをユーザーのメールに送信するには?
セルフホストのパスワードリセットエンドポイントを作成し、Logto SDK を利用して first_screen
を reset-password
に設定したサインインリクエストを開始できます。これにより、ユーザーをパスワードリセットページへシームレスにリダイレクトできます。