问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

npm用户账户双重身份验证配置指南

创作时间:
作者:
@小白创作中心

npm用户账户双重身份验证配置指南

引用
1
来源
1.
https://npm.nodejs.cn/configuring-two-factor-authentication

npm是JavaScript的包管理器,广泛应用于前端和后端开发。为了保护账户安全,npm提供了双重身份验证(2FA)功能。本文将详细介绍如何在npm用户账户上配置2FA,包括从网站和命令行两种方式。

配置双重身份验证

你可以在你的npm用户账户上启用双重身份验证(2FA),以防止未经授权访问你的账户和包,方法是使用移动应用中的security-key或基于时间的一次性密码(TOTP)。

先决条件

在你的npm用户账户上启用2FA之前,你必须:

  • 将你的npm客户端更新到5.5.1或更高版本。
  • 要配置安全密钥,需要支持WebAuthn的现代浏览器。这将允许你配置具有Apple触控ID、人脸识别或Windows Hello以及物理按键(例如Yubikey、Thetis或Feitian)的生物识别设备。
  • 要配置TOTP,你需要在移动设备上安装可以生成OTP(例如Authy、谷歌身份验证器或微软身份验证器)的身份验证器应用。

注意:npm不接受SMS(文本到调用)作为2FA方法。

从网站配置2FA

启用2FA

  1. 在npm“登录”页面上,输入您的帐户详细信息并单击登录
  2. 在页面的右上角,点击您的个人资料照片,然后点击帐户
  3. 在账户设置页面的"双重身份验证"下,单击启用2FA
  4. 当出现提示时,请提供你当前的账户密码,然后单击确认密码继续
  5. 在2FA方法页面上,选择你要启用的方法,然后单击继续。有关支持的2FA方法的更多信息,请参阅"关于双重身份验证"。
  6. 配置你选择的2FA方法:
  • 使用安全密钥时,为其提供名称并单击添加安全密钥。按照浏览器特定的步骤添加你的安全密钥。
  • 以下是在MacOS上运行的Microsoft Edge的配置示例
  • 在手机上使用身份验证器应用时,打开该应用并扫描两步验证页面上的二维码。输入应用生成的代码,然后单击验证
  1. 在恢复代码页上,将恢复代码复制到你的计算机或其他非第二重设备的安全位置。我们建议使用密码管理器。
  2. 确认你已保存代码后,单击返回设置

禁用2FA写入

查看授权和写入部分,了解有关启用此模式时需要2FA的不同操作的更多信息。

注意:作为推荐设置,在设 置2FA时会自动启用用于写入操作的2FA。以下步骤说明了如何禁用它。

  1. 在npm“登录”页面上,输入您的帐户详细信息并单击登录
  2. 在页面的右上角,点击您的个人资料照片,然后点击帐户
  3. 在账户设置页面的"双重身份验证"下,单击修改2FA
  4. 从"管理双重身份验证"导航到"其他选项"部分
  5. 清除"写入操作需要双重身份验证"的复选框并单击"更新 首选项"

禁用2FA

如果你启用了2FA,则可以将其从你的账户设置页面中删除。

注意:如果你是执行2FA的组织的成员,则不能删除2FA。你可以从"组织"选项卡下的个人资料页面查看组织成员列表。

  1. 在npm“登录”页面上,输入您的帐户详细信息并单击登录
  2. 在页面的右上角,点击您的个人资料照片,然后点击帐户
  3. 在账户设置页面的"双重身份验证"下,单击修改2FA
  4. 滚动到"管理双重身份验证"页面的底部,然后单击禁用2FA
  5. 同意浏览器的提示。

从命令行配置2FA

从命令行启用2FA

尽管带有WebAuthn的安全密钥可用于从Web和命令行进行身份验证,但它只能从Web配置。从命令行启用2FA时,目前唯一可用的选项是使用TOTP移动应用。

注意:你在命令行上配置的设置也将应用于你在npm网站上的配置文件设置。

  1. 如果你在命令行上注销,请使用npm login命令登录。
  2. 在命令行上,键入npm profile命令以及要启用的2FA模式的选项:
  • 要为授权和写入启用2FA,请键入:npm profile enable-2fa auth-and-writes
  • 要仅为授权启用2FA,请键入:npm profile enable-2fa auth-only
  1. 要将npm添加到你的身份验证器应用,使用带有应用的设备,你可以:
  • 扫描命令行显示的二维码。
  • 输入二维码下方显示的数字。
  1. 当系统提示你从验证器添加OTP代码时,在命令行上输入验证器应用生成的一次性密码。

从命令行发送一次性密码

如果你已启用2FA auth-and-writes,则需要从命令行发送TOTP才能使某些命令正常工作。为此,请在命令末尾附加--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

从命令行删除2FA

  1. 如果你在命令行上注销,请使用npm login命令登录。
  2. 在命令行上,键入以下命令:npm profile disable-2fa
  3. 出现提示时,输入你的npm密码:
npm password:
  1. 当系统提示你输入一次性密码时,请从你的身份验证器应用中输入密码:
Enter one-time password from your authenticator: **123456**

配置账户恢复选项

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

  1. 在npm“登录”页面上,输入您的帐户详细信息并单击登录
  2. 在页面的右上角,点击您的个人资料照片,然后点击帐户
  3. 对于链接你的GitHub账户,在账户设置页面的"关联账户和恢复选项"下,单击链接到GitHub
  4. 在授权页面上,验证所有信息是否正确。然后单击授权npm账户链接
  5. 对于链接你的推特账户,在账户设置页面的"关联账户和恢复选项"下,单击与Twitter链接。
  6. 在授权页面上,验证所有信息是否正确。然后单击授权应用

Twitter或GitHub账户现已链接到你的npm账户。要删除任一账户的链接,你可以单击要从npm账户中删除的账户旁边的"删除"按钮。

解决TOTP错误

如果你输入的似乎是有效的TOTP但你看到错误,请确保你使用的是正确的身份验证器账户。如果你有多个身份验证器账户,则使用来自错误账户的TOTP会导致错误。

此外,当你在禁用双重身份验证后重置它时,身份验证器可能会创建另一个具有相同名称的账户。请参阅身份验证器文档以删除旧账户。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号