目錄
設定雙重驗證
目錄
你可以為你的 npm 使用者帳戶啟用兩步驟驗證 (2FA),以防止未經授權存取你的帳戶和套件,方法是使用 安全金鑰 或 基於時間的一次性密碼 (TOTP) 從行動應用程式。
先決條件
在為你的 npm 使用者帳戶啟用 2FA 之前,你必須
- 將你的 npm 用戶端更新至 5.5.1 或更高版本。
- 若要設定安全金鑰,需要支援 WebAuthn 的現代瀏覽器。這將允許你設定生物辨識裝置,例如 Apple Touch ID、Face ID 或 Windows Hello,以及實體金鑰,例如 Yubikey、Thetis 或 Feitian。
- 若要設定 TOTP,你需要安裝一個驗證器應用程式,它可以產生 OTP,例如 Authy、Google Authenticator 或 Microsoft Authenticator 在你的行動裝置上。
有關受支援 2FA 方法的更多資訊,請參閱「關於兩步驟驗證」。
注意:npm 不接受簡訊 (簡訊到手機) 作為 2FA 方法。
從網站設定 2FA
啟用 2FA
-
在 npm「登入」頁面,輸入你的帳戶詳細資料,然後按一下登入。
-
在頁面的右上角,按一下你的個人資料圖片,然後按一下帳戶。
-
在帳戶設定頁面,「兩步驟驗證」下方,按一下啟用 2FA。
-
在提示時提供你目前的帳戶密碼,然後按一下確認密碼以繼續。
-
在 2FA 方法頁面,選擇你想要啟用的方法,然後按一下繼續。有關受支援 2FA 方法的更多資訊,請參閱「關於兩步驟驗證」。
-
設定您選擇的 2FA 方法
- 使用安全金鑰時,請提供其名稱並按一下新增安全金鑰。請依照瀏覽器特定步驟新增您的安全金鑰。
- 以下是在 MacOS 上執行 Microsoft Edge 的設定範例
- 在手機上使用驗證器應用程式時,請開啟它並掃描兩步驟驗證頁面上的 QR 碼。輸入應用程式產生的代碼,然後按一下驗證。
-
在復原代碼頁面上,將復原代碼複製到您的電腦或其他非第二要素裝置的安全位置。我們建議使用密碼管理員。
復原代碼是確保您在遺失第二要素裝置時可以復原帳戶的唯一方法。每個代碼只能使用一次。您可以從您的 2FA 設定頁面查看並重新產生您的復原代碼。有關次要帳戶復原選項,請參閱「設定帳戶復原選項」。
-
在確認您已儲存代碼後,按一下返回設定。
停用寫入的 2FA
查看授權和寫入區段,以取得啟用此模式時需要 2FA 的不同作業的更多資訊。
注意:作為建議設定,設定 2FA 時會自動啟用寫入作業的 2FA。下列步驟說明如何停用它。
-
在 npm「登入」頁面,輸入你的帳戶詳細資料,然後按一下登入。
-
在頁面的右上角,按一下你的個人資料圖片,然後按一下帳戶。
-
在帳戶設定頁面上的「兩步驟驗證」下方,按一下修改 2FA。
-
從「管理兩步驟驗證」移至「其他選項」區段
-
清除「寫入動作需要兩步驟驗證」的核取方塊,然後按一下「更新偏好設定」
停用 2FA
如果您已啟用 2FA,您可以從您的帳戶設定頁面移除它。
注意:如果您是強制執行 2FA 的組織成員,您無法移除 2FA。您可以在您的個人資料頁面上的「組織」標籤查看組織成員資格清單。
-
在 npm「登入」頁面,輸入你的帳戶詳細資料,然後按一下登入。
-
在頁面的右上角,按一下你的個人資料圖片,然後按一下帳戶。
-
在帳戶設定頁面上的「兩步驟驗證」下方,按一下修改 2FA。
-
捲動到「管理雙重驗證」頁面的底部,然後按一下「停用 2FA」。
-
同意瀏覽器的提示。
從命令列設定 2FA
從命令列啟用 2FA
雖然具有 WebAuthn 的安全金鑰可同時用於網頁和命令列驗證,但只能從網頁進行設定。目前,從命令列啟用 2FA 時,唯一可用的選項是使用 TOTP 行動應用程式。
注意:您在命令列設定的設定也會套用至 npm 網站上的個人資料設定。
-
如果您已在命令列登出,請使用
npm login
命令登入。 -
在命令列中,輸入
npm profile
命令,以及您要啟用的 2FA 模式選項-
若要啟用授權和寫入的 2FA,請輸入
npm profile enable-2fa auth-and-writes
-
若要僅啟用授權的 2FA,請輸入
npm profile enable-2fa auth-only
-
-
若要將 npm 加入您的驗證器應用程式,請使用裝有該應用程式的裝置,您可以
- 掃描命令列上顯示的 QR 碼。
- 輸入 QR 碼下方顯示的數字。
-
當系統提示您從驗證器加入 OTP 碼時,請在命令列中輸入驗證器應用程式產生的單次密碼。
從命令列傳送一次性密碼
如果您已啟用 2FA auth-and-writes,您需要從命令列傳送 TOTP,才能讓特定命令運作。為此,請在命令的結尾加上 --otp=123456
(其中 123456 是驗證器產生的碼)。以下是一些範例
npm publish [<tarball>|<folder>][--tag <tag>] --otp=123456npm owner add <user > --otp=123456npm owner rm <user> --otp=123456npm dist-tags add <pkg>@<version> [<tag>] --otp=123456npm access edit [<package>) --otp=123456npm unpublish [<@scope>/]<pkg>[@<version>] --otp=123456
從命令列移除 2FA
-
如果您已在命令列登出,請使用
npm login
命令登入。 -
在命令列中,輸入下列命令
npm profile disable-2fa
-
當系統提示時,請輸入您的 npm 密碼
npm password:
-
當系統提示輸入單次密碼時,請輸入驗證器應用程式提供的密碼
Enter one-time password from your authenticator: 123456
設定帳戶復原選項
當您在 npm 使用者帳戶中啟用 2FA 時,我們強烈建議您將 GitHub 和/或 Twitter 帳戶連結至您的 npm 使用者帳戶。如果您遺失了 2FA 裝置和復原碼,這些連結帳戶可協助驗證您的身分,並加快復原 npm 帳戶的流程。
-
在 npm「登入」頁面,輸入你的帳戶詳細資料,然後按一下登入。
-
在頁面的右上角,按一下你的個人資料圖片,然後按一下帳戶。
-
若要 連結您的 GitHub 帳戶,請在帳戶設定頁面中,「連結帳戶和復原選項」下方,按一下與 GitHub 連結。
-
在授權頁面中,驗證所有資訊是否正確。然後按一下授權 npm 帳戶連結。
-
若要連結您的 Twitter 帳戶,請在帳戶設定頁面中,於「連結帳戶和復原選項」下方按一下與 Twitter 連結。
-
在授權頁面中,驗證所有資訊是否正確。然後按一下授權應用程式。
Twitter 或 GitHub 帳戶現在已連結至您的 npm 帳戶。若要移除連結至任一帳戶,您可以按一下您想從 npm 帳戶中移除的帳戶旁的移除按鈕。
解決 TOTP 錯誤
如果您輸入的內容看似有效的TOTP,但您看到錯誤訊息,請務必確認您使用的是正確的驗證器帳戶。如果您有多個驗證器帳戶,使用錯誤帳戶的 TOTP 會導致錯誤。
此外,當您在停用兩步驟驗證後重設,驗證器可能會使用相同的名稱建立第二個帳戶。請參閱驗證器文件以刪除舊帳戶。