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