パスワードのリセット
有効な Email コネクター または SMS コネクター を設定すると、パスワードリカバリー機能が自動的に有効になります。ユーザーは、登録済みのメールアドレスまたは電話番号を入力することでパスワードをリセットできます。
アカウント回復のためのパスワードを忘れた場合
パスワードリセット機能が有効になると、サインインフォームの下に「パスワードをお忘れですか」リンクボタンが表示されます。ユーザーは「パスワードをお忘れですか」リンクをクリックしてパスワードリセットプロセスを開始できます。
「パスワードをお忘れですか」リンクが表示されない場合は、有効な Email または 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
に設定したサインインリクエストを開始できます。これによりユーザーはシームレスにパスワードリセットページへリダイレクトされます。