跳至主要內容

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

在 Logto 設定 MFA

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

全域 MFA 設定

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

  1. 前往:主控台 > 多重要素驗證 (Multi-factor auth)
  2. 啟用你希望支援的驗證因子:
    1. 主要因子:
      • Passkeys (WebAuthn):高安全性的選擇,適合支援裝置生物辨識或安全金鑰等網頁產品,確保強大保護。
      • 驗證器 App OTP:最常見且廣泛接受的方法。使用如 Google Authenticator 或 Authy 等驗證器 App 產生的基於時間的一次性密碼 (TOTP)。
      • 簡訊驗證:透過簡訊將一次性驗證碼發送到使用者註冊的手機號碼,適合偏好行動裝置驗證且不想額外安裝 App 的使用者。
      • 電子郵件驗證:將一次性驗證碼發送到使用者註冊的電子郵件信箱,適用於所有平台與裝置的使用者。
    2. 備用因子:
      • 備用代碼:當使用者無法驗證上述任何主要因子時,作為備用選項。啟用此選項可降低使用者存取失敗的阻力。
  3. 從下拉選單選擇 要求 MFA (Require MFA) 政策。此政策控制使用者在登入時必須完成 MFA 的時機:
    • 選擇性 MFA (Optional MFA):讓使用者自行決定是否啟用 MFA 以提升帳戶安全。使用者可在登入時略過 MFA 設定,並可於自助帳戶設定頁面稍後設定。 進一步了解 如何實作使用者帳戶設定頁面。
    • 自適應 MFA (Adaptive MFA):僅在登入行為異常時要求 MFA,低風險登入流程更順暢,疑似可疑登入則需額外驗證。Logto 會評估高層級情境訊號,如使用者不活躍程度、目前登入情境是否與近期旅行相關登入模式一致、網路連線狀態及其他工作階段或環境指標。此模式依賴你已啟用的 MFA(至少需啟用一種 MFA 因子),適用於終端使用者登入流程,且不依賴裝置指紋或精確位置追蹤。
    • 強制 MFA (Mandatory MFA):所有使用者每次登入都必須完成 MFA。尚未設定 MFA 的使用者必須先完成設定才能繼續。
    • 當選擇 選擇性 MFA自適應 MFA 時,請設定 MFA 設定提示政策:
      • 不提示使用者設定 MFA:登入時不會提示使用者設定 MFA。
      • 註冊時提示使用者設定 MFA:新使用者註冊時會被提示設定 MFA,現有使用者則於下次登入時看到提示。在 選擇性 MFA 下,使用者可略過此步驟且不再出現。在 自適應 MFA 下,提示後必須完成 MFA 設定才能完成當前登入或註冊流程。
      • 註冊後首次登入時提示使用者設定 MFA:新使用者於註冊後第二次登入時會被提示設定 MFA,現有使用者則於下次登入時看到提示。在 選擇性 MFA 下,使用者可略過此步驟且不再出現。在 自適應 MFA 下,提示後必須完成 MFA 設定才能完成當前登入或註冊流程。

當選擇 選擇性 MFA自適應 MFA 且 Logto 決定提示使用者註冊時,流程會先顯示標題為 開啟兩步驟驗證 (Turn on 2-step verification) 的啟用 MFA 確認頁。在 選擇性 MFA 下,使用者可選擇 啟用兩步驟驗證 (Enable 2-step verification) 進行 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 政策選擇 選擇性 MFA 時,使用者才可略過此設定流程。

  1. 造訪登入或註冊頁面:使用者前往登入或註冊頁。
  2. 完成登入或註冊:使用者在登入或註冊流程中完成身分驗證。
    • 若選擇 選擇性 MFA自適應 MFA 且啟用提示政策,Logto 可能會先顯示 開啟兩步驟驗證 (Turn on 2-step verification) 頁面,然後才開始 MFA 因子綁定。
    • 選擇性 MFA 下,使用者可略過此頁或點擊 啟用兩步驟驗證 (Enable 2-step verification) 繼續。在 自適應 MFA 下,提示後必須繼續進行 MFA 綁定。
  3. 設定 MFA 主要因子:系統提示使用者設定主要 MFA 因子(如 passkey、驗證器 App OTP、簡訊驗證碼或電子郵件驗證碼)。
    • 若啟用多個主要因子,使用者可選擇偏好的選項。
    • 若主要因子與註冊識別碼相同(如簡訊或電子郵件),將自動預先驗證,使用者可略過驗證步驟直接進入下一步(如「新增另一個兩步驟驗證」或「儲存你的備用因子」)。
    • 要求 MFA 政策選擇 選擇性 MFA,可點選「略過」按鈕跳過此步驟。
  4. 設定 MFA 備用因子:若啟用 備用代碼,使用者在成功設定主要驗證因子後會被提示儲存備用代碼。系統會自動產生備用代碼並顯示給使用者,使用者可下載並安全保存。必須手動確認備用代碼才能完成 MFA 設定流程。
MFA 設定流程

MFA 驗證流程

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

若使用者以 passkey 登入,Logto 會略過額外的 MFA 驗證步驟,因為登入所用的 passkey 本身即為 WebAuthn 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 實作這些模式。

在主控台管理使用者 MFA

主控台 > 使用者管理 (User management),管理員可有效管理使用者 MFA 設定:

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

常見問題

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

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

情境 1:無任何 MFA 因子

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

情境 2:仍有備用代碼

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