npm 配置双因素身份验证

目录

1、关于双因素身份验证

2、NPM上的双因素身份验证

2.1 授权和写入

2.2 仅限授权

3、先决条件

4、从网站配置2FA

4.1 启用2FA

4.2 为写入禁用2FA

4.3 禁用2FA

5、从命令行配置2FA

5.1 从命令行启用2FA

5.2 从命令行发送一次性密码

5.3 从命令行删除2FA

6、配置帐户恢复选项


1、关于双因素身份验证

npm 配置双因素身份验证_第1张图片

今天收到一封邮件,提示我的npm账号没有开启双因素身份验证。

首先,我们说一下双因素身份验证,也称双重验证,或者二元验证。启用2FA后,在对您拥有写访问权限的帐户或包执行某些操作之前,系统将提示您进行第二种形式的身份验证。根据您的2FA配置,系统将提示您使用安全密钥或基于时间的一次性密码(TOTP)进行身份验证。

注意:双重身份验证为您的帐户提供了最佳的安全性,可以抵御攻击者。我们强烈建议您在注册后尽快在您的帐户上启用2FA。

2、NPM上的双因素身份验证

npm上的双因素身份验证可以启用授权和写入,或仅授权。

2.1 授权和写入

默认情况下,为授权和写入启用2FA。我们将为某些授权操作以及写入操作请求第二种形式的身份验证。

动作 CLI命令
登录npm npm login
更改配置文件设置(包括密码) npm profile enable-2fa auth-and-writes
更改用户帐户的2FA模式 npm profile enable-2fa auth-and-writes
为您的用户帐户禁用2FA npm profile enable-2fa auth-and-writes
创建令牌 npm token revoke
撤销令牌 npm token revoke
发布包 npm publish
取消发布包 npm unpublish
弃用软件包 npm deprecate
更改包可见性 npm access grant/revokenpm access grant/revoke 
更改用户和团队包访问权限 npm access grant/revoke
变更包2FA要求 npm access grant/revoke

2.2 仅限授权

如果仅为授权启用2FA。我们将仅为某些授权操作请求第二种形式的身份验证。

动作 CLI命令
登录npm npm login
更改配置文件设置(包括密码) npm profile enable-2fa auth-and-writes
更改用户帐户的2FA模式 npm profile enable-2fa auth-and-writes
为您的用户帐户禁用2FA npm profile enable-2fa auth-and-writes
创建令牌 npm token revoke
撤销令牌 npm token revoke

3、先决条件

  • 将npm客户端更新到5.5.1或更高版本。
  • 要配置安全密钥,需要支持WebAuthn功能的现代浏览器。这将允许您配置一个生物识别设备,如苹果Touch ID,Face ID 或者Windows HelloWindows Hello 等等。
  • 要配置TOTP,您需要安装一个可以生成OTP的验证器应用程序,如Authy,Google Authenticator或者Microsoft Authenticator 在您的移动终端上。

4、从网站配置2FA

4.1 启用2FA

1、在npm的登录页面,输入用户名和密码,然后点击“Sign in” 按钮。

npm 配置双因素身份验证_第2张图片

 未启用双重身份验证之前,会要求输入一次性密码,如下如所示:

npm 配置双因素身份验证_第3张图片

 2、在页面右上角,单击个人资料图像,但然后单击“Account”

npm 配置双因素身份验证_第4张图片

 3、在页面找到“Two-Factor Authentication”区域,单击“Enable 2FA”

npm 配置双因素身份验证_第5张图片

 4、出现“Security key” 和 “Authentication app”,选择第一个安全密钥,继续

npm 配置双因素身份验证_第6张图片

5、添加安全密钥,输入有一个安全密钥的名字,然后再点击“Add security key” 

npm 配置双因素身份验证_第7张图片

提示在当前设备上创建通用密钥。

npm 配置双因素身份验证_第8张图片

 MacOS上运行的Chrome 浏览器的配置示例,点击“继续”按钮,输入电脑密码,或者指纹。

6、出现恢复代码的页面上,将恢复代码复制到您的计算机或其他非第二因素设备的安全位置。我们建议使用密码管理器。

npm 配置双因素身份验证_第9张图片

恢复代码是确保您在无法访问第二因素设备时恢复帐户的唯一方法。每个代码只能使用一次。

7、确认已保存代码后,单击“Go back to setting”。

4.2 为写入禁用2FA

1、在账户设置页面中,找到“Two-Factor Authenticction”区域,单击“Modify 2FA”

npm 配置双因素身份验证_第10张图片

2、 找到“Additional Options”部分,取消选中“Require two-factor authentication for write actions”,然后再单击“Update Preferences”按钮。

npm 配置双因素身份验证_第11张图片

4.3 禁用2FA

 1、在账户设置页面中,找到“Two-Factor Authenticction”区域,单击“Modify 2FA”

npm 配置双因素身份验证_第12张图片

 2、滚动到页面最低部,然后单击“Disable 2FA”,就可以禁用2FA了。

npm 配置双因素身份验证_第13张图片

5、从命令行配置2FA

5.1 从命令行启用2FA

虽然WebAuthn的security-key可以用于Web和命令行的身份验证,但它只能从Web进行配置。从命令行启用2FA时,目前唯一可用的选项是使用TOTP移动的应用程序。

1、打开命令行窗口,使用 “npm login” 命令进行登录。

2、在命令行中,键入 npm profile 命令沿着要启用的2FA模式的选项: 

  •  要为授权和写入启用2FA,输入一下内容:
    npm profile enable-2fa auth-and-writes

  • 要仅为授权启用2FA
    npm profile enable-2fa auth-only

3、要将npm添加到您的身份验证器应用程序中,使用带有应用程序的设备,您可以:

  • 扫描命令行上显示的二维码
  • 输入QR码下方显示的数字

4、当系统提示您从验证器添加OTP代码时,请在命令行中输入验证器应用生成的一次性密码。

5.2 从命令行发送一次性密码

如果您启用了2FA auth-and-writes,则需要从命令行发送TOTP以使某些命令生效。为此,请在命令的末尾添加--otp=123456(其中123456是验证器生成的代码)。以下是几个例子:

npm publish [|][--tag ] --otp=123456
npm owner add  --otp=123456
npm owner rm  --otp=123456
npm dist-tags add @ [] --otp=123456
npm access edit [) --otp=123456
npm unpublish [<@scope>/][@] --otp=123456

5.3 从命令行删除2FA

1、如果您在命令行上注销,请使用npm login命令登录。

2、在命令行中,输入一下命令:

npm profile disable-2fa

3、出现提示时,输入您的npm密码:

npm password: 

4、系统提示输入一次性密码时,请从您的验证器应用程序输入密码:

输入验证器的一次性密码:123456

6、配置帐户恢复选项

当您在npm用户帐户上启用2FA时,我们强烈建议您将GitHub和/或Twitter帐户链接到您的npm用户帐户。如果您无法访问您的2FA设备和恢复代码,这些链接的帐户可用于验证您的身份并加快恢复您的npm帐户。

  1. 1、登录npm,点击个人资料图像,然后单击“Account”,找到“Linked Accounts & Recovery Option”选项部分

npm 配置双因素身份验证_第14张图片

2、可以选择链接到Github或者Twitter上,方便忘记密码和密钥,更容易找回。

你可能感兴趣的:(Node.js,网络安全,npm,前端,node.js,双因素验证,密钥)