為自動化使用者完成 MFA 挑戰
Salesforce 需要所有 UI 登入的多因素驗證 (MFA),包括自動化使用者的登入。針對自動化使用個案,例如機器人流程自動化 (RPA),您可以使用產生時間型一次性密碼 (TOTP) 的第三方驗證器應用程式,以程式設計的方式完成 MFA。
必要版本
| 提供版本:Salesforce Classic 和 Lightning Experience |
| 提供版本:所有版本 |
當您將第三方驗證器應用程式連線至使用者帳戶時,Salesforce 會共用可產生 TOTP 的機密金鑰。透過此金鑰,您可以撰寫使用 TOTP 完成 MFA 的指令檔,而無須任何人類的互動。
重要 針對擁有「系統管理員」設定檔或「修改所有資料」、「檢視所有資料」、「自訂應用程式」或「編寫 Apex」使用者權限的使用者帳戶,請勿使用程式設計 TOTP 挑戰。這些帳戶 需要從 2026 年 6 月開始使用防網路釣魚 MFA 方法 (例 如內建驗證器或安全性金鑰等密碼金鑰)。當強制執行防網路釣魚 MFA 要求時,這些使用者帳戶將無法使用驗證器應用程式。
以下是如何連線第三方驗證器應用程式,並取得可產生 TOTP 的金鑰。取得金鑰是您完成一次的手動程序。
備註 Salesforce Authenticator 不支援這些步驟。
- 登入自動化使用者帳戶。
- 前往使用者的個人設定,然後按一下「進階使用者詳細資料」。
-
尋找「應用程式註冊:「一次性密碼驗證器」設定,然後按一下「連線」。
-
在連線驗證應用程式的畫面上,按一下「我無法掃描 QR 碼」。
Salesforce 會將您導向至頁面,以使用金鑰連線應用程式。 -
在您連線驗證應用程式之前,請複製金鑰並安全地儲存。請將此金鑰視為密碼,並確保遵循儲存敏感資料的 Salesforce 最佳作法。
- 遵循畫面上的指示將應用程式連線至 Salesforce。
若要以程式設計的方式完成 TOTP 挑戰,請撰寫使用該金鑰產生 TOTP 的指令檔。包含一種方法,讓您得出自動產生的 TOTP 並完成 UI 登入。以下是使用 npm 中 開放程式碼 otplib 程式庫的 JavaScript 範例。在此範例中,密碼金鑰會儲存在 AUTOMATION_TOTP_SECRET 變數中。此程式碼範例僅供示範之用,請務必撰寫並測試您自己的自訂程式碼。
// This example assumes the otplib package has been installed ($ npm i otplib)
const { authenticator } = require('otplib');
// Store the Base32 secret securely (environment variable, secrets manager, etc.)
// This should be the "Key" shown in the UI after clicking "I Can't Scan the QR Code"
const TOTP_SECRET = process.env.AUTOMATION_TOTP_SECRET;
function getTotpCode() {
if (!TOTP_SECRET) {
throw new Error('Missing AUTOMATION_TOTP_SECRET');
}
// otplib's authenticator expects a Base32 secret by default;
// 30s step, 6 digits, SHA1 are the common defaults
return authenticator.generate(TOTP_SECRET);
}
// Example usage in an auth flow:
async function completeMfaChallenge({ enterCode }) {
const code = getTotpCode();
await enterCode(code); // customer supplies their UI interaction
}
module.exports = { getTotpCode, completeMfaChallenge };
此文章是否解決您的問題?
請讓我們知道,以便我們改進!

