跳至主要內容

重設密碼 (Reset password)

當你已設定有效的 Email 連接器SMS 連接器 時,密碼找回功能會自動啟用。使用者可透過輸入註冊時的電子郵件地址或手機號碼來重設密碼。

忘記密碼以找回帳號

啟用重設密碼功能後,登入表單下方會顯示「忘記密碼」連結按鈕。使用者可點擊「忘記密碼」連結啟動密碼重設流程。

備註:

沒看到「忘記密碼」連結?請確認你已設定有效的 EmailSMS 連接器。

  1. 造訪登入頁面:使用者造訪登入頁面。
  2. 點擊忘記密碼連結:使用者點擊「忘記密碼」連結。
  3. 輸入電子郵件 / 手機號碼:點擊「忘記密碼」連結後,使用者會被導向新頁面,輸入註冊時的電子郵件地址或手機號碼。
  4. 發送驗證碼:Logto 會將驗證碼發送至使用者提供的電子郵件地址或手機號碼,並導向驗證碼輸入頁面。
  5. 輸入驗證碼:使用者輸入收到的驗證碼(電子郵件或手機)。Logto 會驗證該驗證碼及與該電子郵件地址或手機號碼關聯的使用者身分。
  6. 輸入新密碼:驗證碼驗證成功後,系統會提示使用者輸入新密碼。
  7. 密碼重設成功:若新密碼符合密碼政策要求,密碼將成功更新。
  8. 導回登入頁面:使用者將被導回登入頁面,使用新密碼登入。
重設密碼流程 (Reset password flow)

登入後更新密碼

已驗證的使用者可透過應用程式內的帳號設定頁面變更(或首次設定)密碼。請參閱 帳號設定 了解如何透過 Account API 實作。

檢查使用者是否有密碼

使用者資料中有一個布林欄位 hasPassword,表示該使用者目前是否有儲存密碼憑證。

你可以透過以下方式取得 hasPassword

然後呼叫 Account API 端點來設定或更新密碼(請參閱帳號設定指南取得請求細節)。對於從未設過密碼的使用者,你不需要(也不應要求)舊密碼欄位。

提示:

即使你的註冊流程要求電子郵件 / 手機 / 使用者名稱註冊時「設定密碼」,透過純 社交登入 (social sign-in) 建立的使用者預設會跳過密碼設定,以降低摩擦。這些使用者的 hasPassword = false,直到他們之後主動設定密碼。除非安全模型要求,否則請避免在社交註冊後強制立即設定密碼——延後、情境感知的提示通常轉換率更高。

自訂密碼政策 (Custom password policy)

可自訂密碼長度、字元要求與禁用詞,兼顧安全性與良好使用者體驗。這些設定可於 安全性 > 密碼政策 (Security > Password policy) 區段進行。詳情請參閱 密碼政策 文件。

常見問題 (FAQs)

密碼重設成功後如何登出使用者?

訂閱 PostResetPassword Webhook 事件,即可在使用者成功重設密碼時收到通知。你可以據此觸發 登出 動作,使該使用者目前的工作階段失效並導回登入頁面。

如何在自訂 UI 上實作密碼重設流程?

你可以透過 Logto 的 Management APIAccount API 實作自訂密碼重設流程。詳情請參閱 帳號設定

你可以建立自有的密碼重設端點,並利用 Logto SDK 發起登入請求,將 first_screen 設為 reset-password。這將無縫導向使用者至密碼重設頁面。