W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
需要 npm 5.5.1 或更高版本
為了滿足對強大數(shù)字安全性日益增長的需求,npm 在 5.5.1 版中引入了雙因素身份驗證 (2FA)。雙因素身份驗證通過使用兩種方法確認(rèn)你的身份來防止未經(jīng)授權(quán)訪問你的帳戶:
例如,如果你的銀行使用2FA,你第一次登錄你的網(wǎng)上銀行系統(tǒng)時,銀行會向你的手機號碼發(fā)送一個驗證碼,然后提示你在線輸入驗證碼。這證明了手機在你的手中,并將其鏈接到你的帳戶進行身份驗證。之后,每當(dāng)銀行檢測到任何異常情況時,例如從另一臺筆記本電腦登錄,它都會向你的手機發(fā)送一個臨時代碼,你必須先輸入該代碼才能登錄。這提供了額外的安全層,因為即使有人獲得了你的登錄憑據(jù),他們也不太可能擁有你的設(shè)備。即使有人找到了你的手機,他們也不太可能破解你筆記本電腦的密碼。
兩因素身份驗證成倍增加了對攻擊的保護,我們建議你使用 npm 帳戶也可以應(yīng)用這一功能。
要使用你的 npm 帳戶啟用 2FA,你需要一個可以生成一次性密碼或 OTP 的應(yīng)用程序。例如,Authy或?Google Authenticator,可以生成一次性密碼(OTP)。這些產(chǎn)品使用基于時間的一次性密碼算法 (TOTP) 來創(chuàng)建臨時代碼。在你使用 npm 帳戶工作時將始終可用的移動設(shè)備或第二臺筆記本電腦上安裝該應(yīng)用程序。(注意:npm 不使用 SMS(文本到電話)作為驗證用戶的方法。)
有兩個級別的身份驗證,auth-only和auth-and-writes。
如果你在auth-only
模式下啟用 2FA,當(dāng)你執(zhí)行以下操作時,npm 將需要一個 OTP:
如果你在auth-and-writes
模式下啟用 2FA?,這是默認(rèn)設(shè)置,當(dāng)你執(zhí)行以下操作時,npm 將需要一個 OTP:
要將 OTP 添加到命令,請按如下所示附加它:
npm owner add <user > --otp=123456
下面列出了其他示例。
要要求雙因素身份驗證,請鍵入滿足您希望應(yīng)用的安全級別的命令(auth-and-writes 是默認(rèn)設(shè)置)。
npm profile enable-2fa
npm profile enable-2fa auth-and-writes
npm profile enable-2fa auth-only
npm 將返回此消息:
npm notice profile Enabling two factor authentication for auth-and-writes
或此消息:
> npm notice profile Enabling two factor authentication for auth-only
取決于你提供的設(shè)置。
接下來,npm 將顯示一個二維碼:
這將配置身份驗證器應(yīng)用程序以供將來使用,將身份驗證鏈接到生成身份驗證的設(shè)備。
使用你的身份驗證器應(yīng)用程序,在顯示的提示處輸入 OTP:
Add an OTP code from your authenticator:
輸入一次性密碼后,npm 將顯示以下消息:
2FA successfully enabled.
Below are your recovery codes, please print these out.
You will need these to recover access to your account
if you lose your authentication device.
應(yīng)用雙因素身份驗證后,你可以使用該npm profile get
命令確認(rèn)已設(shè)置。
安裝 2FA 后,你需要為安全相關(guān)命令輸入 OTP。例如,無論何時使用該命令,npm profile set
你都需要輸入 OTP,然后才能設(shè)置或更改值,例如你的全名:
$npm profile set fullname Carolyn A. Wombat
Enter OTP: 567452
Set fullname to Carolyn A. Wombat
使用 npm profile get
確認(rèn)新設(shè)置。
讀者請注意:我們已重置屏幕截圖中使用的帳戶;QR 和代碼都不再有效。但感謝那些向我們詢問此事的機敏和善良的袋熊。
如上所述,設(shè)置雙因素身份驗證后,屏幕上會出現(xiàn)一系列恢復(fù)代碼。請打印它們并按照說明保存它們。注意:某些身份驗證器應(yīng)用程序為您提供了一種存儲恢復(fù)代碼的方法。
提示:將這些代碼保存在與用于驗證的設(shè)備不同的位置。例如,如果你從平板電腦獲取 OTP,請不要將代碼保存在平板電腦的保護套中。
下面解釋恢復(fù)過程。
要從你的配置文件中刪除 2FA,請輸入以下命令:
npm profile disable-2fa
npm 將提示你輸入密碼:
> npm password:
按照提示輸入你的npm密碼,然后npm會顯示:
>Enter one-time password from your authenticator: 123456
npm 將確認(rèn):
Two factor authentication disabled.
如果你啟用了 2FA auth-and-writes,你將需要從命令行發(fā)送某些命令的 OTP。為此,請在命令末尾附加?--otp=123456
(其中123456是你的身份驗證器生成的代碼)。這里有一些例子:
npm publish [<tarball>|<folder>][--tag <tag>] --otp=123456
npm owner add <user > --otp=123456
npm owner rm <user> --otp=123456
npm dist-tags add <pkg>@<version> [<tag>] --otp=123456
npm access edit [<package>) --otp=123456
npm unpublish [<@scope>/]<pkg>[@<version>] --otp=123456
如果你找不到提供二次驗證的設(shè)備:
找到你在啟用 2FA 時保存的恢復(fù)代碼。如果你已經(jīng)注銷,請使用你的登錄名和 npm 密碼正常登錄。當(dāng)提示輸入 OTP 時,輸入恢復(fù)代碼。(請注意,這可能會使用相同的 npm 帳戶名創(chuàng)建第二個身份驗證器帳戶。請務(wù)必使用新創(chuàng)建的帳戶。)登錄后,npm profile disable-2fa
如果出現(xiàn)提示,請鍵入并輸入您的 npm 密碼??吹酱颂崾緯r,請輸入未使用的恢復(fù)代碼:
>Enter one-time password from your authenticator:
npm 將確認(rèn)已禁用雙因素身份驗證。鍵入npm profile enable-2fa
以重新啟用 2FA,為你的帳戶分配不同的設(shè)備,并生成新的恢復(fù)代碼。如果你放錯了恢復(fù)代碼,請聯(lián)系 npm 客戶支持。
如果你輸入的 OTP 似乎是有效的,但看到錯誤,請確保你使用的是正確的身份驗證器帳戶。在下面的屏幕截圖中,Authy 中的當(dāng)前帳戶設(shè)置不正確,因為開發(fā)人員有多個 npm 測試帳戶。這將導(dǎo)致 OTP 失敗。此外,如前所述,當(dāng)你在禁用 2fa 后重置 2fa 時,身份驗證器可能會創(chuàng)建另一個同名帳戶。請參閱身份驗證器文檔以刪除舊帳戶。
你使用命令行界面 (CLI) 定義的設(shè)置也將適用于該網(wǎng)站。目前,你無法從 Web 界面激活 2FA。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: