設定多重要素驗證 (MFA, Multi-factor authentication)
在 Logto 設定 MFA
Logto 提供彈性的多重要素驗證 (MFA) 設定選項,以滿足不同的安全需求。你可以在全域層級為所有使用者設定 MFA,或針對多租戶應用程式按組織啟用。
全域 MFA 設定
依照下列步驟在使用者的 Logto 登入流程中啟用 MFA:
- 前往:主控台 > 多重要素驗證 (Multi-factor auth)。
- 啟用你希望支援的驗證因子:
- 主要因子:
- Passkeys (WebAuthn):高安全性的選擇,適合支援裝置生物辨識或安全金鑰等網頁產品,確保強大保護。
- 驗證器 App OTP:最常見且廣泛接受的方法。使用如 Google Authenticator 或 Authy 等驗證器 App 產生的基於時間的一次性密碼 (TOTP)。
- 簡訊驗證:透過簡訊將一次性驗證碼發送到使用者註冊的手機號碼,適合偏好行動裝置驗證且不想額外安裝 App 的使用者。
- 電子郵件驗證:將一次性驗證碼發送到使用者註冊的電子郵件信箱,適用於所有平台與裝置的使用者。
- 備用因子:
- 備用代碼:當使用者無法驗證上述任何主要因子時,作為備用選項。啟用此選項可降低使用者存取失敗的阻力。
- 主要因子:
- 從下拉選單選擇 要求 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 設定
對於支援 組織 (Organizations) 的多租戶架構產品,大多數情境下你不需要要求所有使用者都啟用 MFA。你可以按組織啟用 MFA,根據每個客戶的需求量身訂做。請參考 要求組織成員啟用 MFA 開始設定。
在 多重要素驗證 (Multi-factor authentication) 區段,將 組織啟用 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 且啟用提示政策,Logto 可能會先顯示
- 設定 MFA 主要因子:系統提示使用者設定主要 MFA 因子(如 passkey、驗證器 App OTP、簡訊驗證碼或電子郵件驗證碼)。
- 若啟用多個主要因子,使用者可選擇偏好的選項。
- 若主要因子與註冊識別碼相同(如簡訊或電子郵件),將自動預先驗證,使用者可略過驗證步驟直接進入下一步(如「新增另一個兩步驟驗證」或「儲存你的備用因子」)。
- 若 要求 MFA 政策選擇 選擇性 MFA,可點選「略過」按鈕跳過此步驟。
- 設定 MFA 備用因子:若啟用 備用代碼,使用者在成功設定主要驗證因子後會被提示儲存備用代碼。系統會自動產生備用代碼並顯示給使用者,使用者可下載並安全保存。必須手動確認備用代碼才能完成 MFA 設定流程。
MFA 驗證流程
已設定 MFA 的使用者在登入時會被提示使用已設定的 MFA 因子驗證身分。驗證因子會依據 Logto 的 MFA 設定及使用者個人設定而定。
若使用者以 passkey 登入,Logto 會略過額外的 MFA 驗證步驟,因為登入所用的 passkey 本身即為 WebAuthn MFA 因子。
- 若使用者僅設定一種因子,將直接驗證該因子。
- 若設定多種 2FA 因子,系統會依下列優先規則呈現驗證選項:
- Passkey 優先:若已設定 passkey,預設以此驗證。
- 上次使用偏好:若無 passkey,系統優先顯示使用者上次成功使用的驗證方式。
- 選擇清單:若以上皆不適用,兩步驟驗證頁會顯示所有可用的驗證方式供選擇。
- 使用者可隨時點擊「嘗試其他驗證方式」切換不同驗證選項。
- 若所有啟用的主要因子皆不可用,且已啟用備用代碼,則可使用一次性備用代碼驗證身分。
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 政策。
- 此設計可避免主要因子皆不可用時,使用者被鎖定於帳戶之外。