跳至主要內容

設定多重要素驗證 (MFA, Multi-factor authentication)

在 Logto 設定 MFA

Logto 提供彈性的多重要素驗證 (MFA) 設定選項,以滿足不同的安全需求。你可以針對所有使用者進行全域 MFA 設定,或在多租戶應用程式中,依組織啟用 MFA。

全域 MFA 設定

依照下列步驟,於使用者的 Logto 登入流程中啟用 MFA:

  1. 前往:Console > Multi-factor auth
  2. 啟用你希望提供給使用者的驗證因子。
    1. 主要因子:
      • Passkeys (WebAuthn):高安全性的選擇,適用於支援裝置生物辨識或安全金鑰等的網頁產品,確保強大保護。
      • 驗證器 App OTP:最常見且廣泛接受的方法。使用如 Google Authenticator 或 Authy 等驗證器 App 產生的基於時間的一次性密碼 (TOTP)。
      • 簡訊驗證:透過簡訊將一次性驗證碼發送至使用者註冊的手機號碼,適合偏好行動裝置驗證且不需額外 App 的使用者。
      • 電子郵件驗證:將一次性驗證碼發送至使用者註冊的電子郵件信箱,適用於所有平台與裝置的使用者。
    2. 備用因子:
      • 備用代碼:當使用者無法驗證上述任何主要因子時,作為備用選項。啟用此選項可降低使用者存取失敗的阻力。
  3. 選擇是否啟用 強制 MFA(Require MFA)
    • 啟用:使用者在登入流程中會被強制要求設定 MFA,且無法跳過。若使用者未完成 MFA 設定或刪除 MFA 設定,將無法登入帳號,直到重新設定 MFA。
    • 停用:使用者可於註冊流程中跳過 MFA 設定,日後可透過自助帳號設定頁面設定 MFA。你可以進一步了解如何實作使用者帳號設定頁面。並繼續選擇 MFA 設定提示的政策:
      • 不提示使用者設定 MFA:登入時不會提示使用者設定 MFA。
      • 註冊時提示使用者設定 MFA:新使用者於註冊時會被提示設定 MFA,現有使用者則於下次登入時看到提示。使用者可跳過此步驟,且不會再次出現。
      • 註冊後首次登入時提示使用者設定 MFA:新使用者於註冊後第二次登入時會被提示設定 MFA,現有使用者則於下次登入時看到提示。使用者可跳過此步驟,且不會再次出現。
提示:

若你希望在使用者跳過 MFA 註冊後再次提示,請重設其跳過狀態,讓下次登入時顯示設定畫面。管理員可使用 Management API(PATCH /api/users/{userId}/logto-configs),開發者在自助流程中可呼叫 Account API(PATCH /api/my-account/logto-configs)。Management API 參考文件 · Account API 參考文件

MFA 設定

組織層級 MFA 設定

對於支援 組織 (Organizations) 的多租戶架構產品,大多數情況下你不需要對所有使用者強制啟用 MFA。你可以依組織啟用 MFA,根據每個客戶的需求量身訂做。請參考要求組織成員啟用 MFA開始設定。

多重要素驗證 (Multi-factor authentication) 區段,將 組織啟用 MFA 後對使用者的 MFA 設定提示 設為 下次登入時提示使用者設定 MFA(不可跳過)。任何要求 MFA 的組織成員,於下次登入時都會被強制提示完成 MFA 設定,且無法跳過。

MFA 使用者流程

MFA 設定流程

啟用 MFA 後,使用者在登入與註冊流程中會被提示設定 MFA。僅當「強制 MFA」政策為停用時,使用者才可選擇跳過此設定流程。

  1. 造訪登入或註冊頁面:使用者前往登入或註冊頁面。
  2. 完成登入或註冊:使用者於登入或註冊流程中完成身分驗證。
  3. 設定 MFA 主要因子:系統提示使用者設定主要 MFA 因子(如 passkey、驗證器 App OTP、簡訊驗證碼或電子郵件驗證碼)。
    • 若啟用多個主要因子,使用者可選擇偏好的選項。
    • 若主要因子與註冊識別碼相同(如簡訊或電子郵件),將自動完成驗證,使用者可略過驗證步驟,直接進入下一步(如「新增另一個二步驟驗證」或「儲存備用因子」)。
    • 若「強制 MFA」政策為停用,使用者也可點選「跳過」按鈕略過此步驟。
  4. 設定 MFA 備用因子:若啟用 備用代碼,使用者於成功設定主要驗證因子後,會被提示儲存備用代碼。系統會自動產生備用代碼並顯示給使用者,使用者可下載並妥善保存。必須手動確認備用代碼才能完成 MFA 設定流程。
MFA 設定流程

MFA 驗證流程

已設定 MFA 的使用者,在登入時會被提示以已綁定的 MFA 因子驗證身分。驗證因子將依 Logto 的 MFA 設定與使用者個人設定而定。

  • 若使用者僅設定一種因子,將直接進行該因子的驗證。
  • 若設定多種因子進行二步驟驗證 (2FA),系統會依下列優先規則呈現驗證選項:
    • Passkey 優先:若已設定 passkey,預設以此作為驗證方式。
    • 上次使用偏好:若無 passkey,系統優先選擇使用者上次成功驗證的方法。
    • 選擇清單:若上述皆不適用,二步驟驗證頁面會顯示所有可用的驗證方法供選擇。
    • 使用者可隨時點選「嘗試其他驗證方式」切換不同驗證選項。
  • 若所有啟用的主要因子皆不可用,且已啟用備用代碼,則可使用一次性備用代碼驗證身分。
MFA 驗證流程

MFA 管理

除了登入/註冊時的初始設定外,使用者可透過自助帳號中心管理 MFA 設定,靈活綁定或解除 MFA 因子。

建立帳號中心

你可以利用 Logto 的 Account API 建立完整的帳號中心,讓使用者:

  • 綁定新 MFA 因子:新增驗證器 App、passkey 或重新產生備用代碼
  • 解除現有 MFA 因子:移除不再使用的 MFA 方法
  • 檢視目前 MFA 狀態:查看目前已設定的 MFA 因子

登入後 MFA 設定提示

對於註冊時未強制 MFA 的應用程式,你可以實作智慧提示,鼓勵使用者設定 MFA:

  • 條件式提示:根據使用者行為或帳號價值顯示 MFA 設定建議
  • 安全儀表板:顯示安全分數,啟用 MFA 後分數提升
  • 漸進式導引:將 MFA 設定納入逐步強化安全性的流程

進一步了解如何透過 Account API 實作這些模式。

於 Console 管理使用者 MFA

Console > User management,管理員可有效管理使用者 MFA 設定:

  • 檢視使用者 MFA 狀態:查看每位使用者啟用哪些 MFA 因子。
  • 移除使用者 MFA:刪除使用者所有 MFA 因子,需重新設定 MFA。

常見問題

管理員移除使用者現有 MFA 因子時會發生什麼事?

當管理員移除使用者所有主要 MFA 因子(passkey、驗證器 App OTP、簡訊或電子郵件)後,使用者下次登入時會遇到以下情境:

情境一:無任何 MFA 因子

  • 若不存在任何 MFA 因子(包含無備用代碼),且 MFA 政策 強制要求 MFA,使用者將可直接登入且無需 MFA 驗證,並立即被提示重新設定 MFA。

情境二:仍有備用代碼

  • 若仍有備用代碼可用,使用者登入時必須先以備用代碼驗證。
  • 成功驗證後,系統會提示使用者設定新的主要 MFA 因子。
  • 使用者是否可跳過此設定,取決於你所設定的 MFA 政策。
  • 此設計可避免使用者在無主要因子時被鎖定帳號。