npm 配置双因素身份验证

news2024/12/23 13:31:05

目录

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账号没有开启双因素身份验证。

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

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

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

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

2.1 授权和写入

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

动作CLI命令
登录npmnpm login
更改配置文件设置(包括密码)npm profile enable-2fa auth-and-writes
更改用户帐户的2FA模式npm profile enable-2fa auth-and-writes
为您的用户帐户禁用2FAnpm 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命令
登录npmnpm login
更改配置文件设置(包括密码)npm profile enable-2fa auth-and-writes
更改用户帐户的2FA模式npm profile enable-2fa auth-and-writes
为您的用户帐户禁用2FAnpm 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” 按钮。

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

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

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

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

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

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

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

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

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

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

4.2 为写入禁用2FA

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

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

4.3 禁用2FA

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

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

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 [<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

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”选项部分

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/542808.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chatgpt赋能Python-python3_8怎么安装库

Python 3.8怎么安装库 - 一个简单易懂的指南 如果你正在学习Python编程&#xff0c;或者想要在你的项目中使用Python 3.8&#xff0c;那么你可能需要安装一些Python库。Python库是一些预定义的Python模块&#xff0c;它们可以帮助你更快速地完成你的项目。在这篇文章中&#x…

chatgpt赋能Python-python3_9_6怎么用

Python 3.9.6简介 Python 3.9.6是2021年6月28日发布的Python编程语言的最新版本&#xff0c;它提供了一些有用的新功能和改进&#xff0c;包括优化的解释器性能和可变构造体。它是一种功能强大的编程语言&#xff0c;既易于学习又易于使用&#xff0c;非常适用于开发Web应用程…

059:cesium设置条纹条带Stripe材质

第059个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中设置条纹条带材质,请参考源代码,了解StripeMaterialProperty的应用。 直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共91行)相关API参考:专栏目标…

机器学习——感知机

本章节主要介绍感知机的基础知识&#xff0c;虽然在目前的机器学习范围内&#xff0c;感知机已经不怎么使用&#xff0c;但是通过对感知机的学习可以更好的了解以后的线性模型等相关知识。 同时读者可以点击链接&#xff1a;机器学习-目录_欲游山河十万里的博客-CSDN博客 学习完…

Flutter 笔记 | Flutter 核心原理(一)架构和生命周期

Flutter 架构 简单来讲&#xff0c;Flutter 从上到下可以分为三层&#xff1a;框架层、引擎层和嵌入层&#xff0c;下面我们分别介绍&#xff1a; 1. 框架层 Flutter Framework&#xff0c;即框架层。这是一个纯 Dart实现的 SDK&#xff0c;它实现了一套基础库&#xff0c;自…

蓝牙 a2dp 知识点

1 不同的场景支持 当手机与耳机连接时&#xff0c;会协商音频编解码器、音频质量、音频延迟。&#xff08;可以决定是游戏模式还是音乐模式&#xff09; 2 音量调整 手机下发音乐数据的同时&#xff0c;还会下发音量值。耳机根据这个音量值&#xff0c;调整音乐数据到耳机实…

微软 | 把local小模型当作大语言模型的插件?

一、概述 title&#xff1a;Small Models are Valuable Plug-ins for Large Language Models 论文地址&#xff1a;https://arxiv.org/abs/2305.08848 代码&#xff1a;https://github.com/JetRunner/SuperICL 1.1 Motivation 大语言模型想GPT-3和GPT-4权重没有开放出来&a…

实验 2:树形数据结构的实现与应用

东莞理工学院的同学可以借鉴&#xff0c;请勿抄袭 1.实验目的 通过实验达到&#xff1a; 理解和掌握树及二叉树的基本概念&#xff1b; 理解和掌握二叉树的顺序存储结构、链式存储结构&#xff1b; 理解和掌握采用二叉链式存储结构下二叉树的各种遍历操作的思想及 其应用&a…

详解Jetpack Compose的标准布局

前言 Compose是一个声明式UI系统&#xff0c;其中&#xff0c;我们用一组函数来声明UI&#xff0c;并且一个Compose函数可以嵌套另一个Compose函数&#xff0c;并以树的结构来构造所需要的UI。 在Compose中&#xff0c;我们称该树为UI 图&#xff0c;当UI需要改变的时候会刷新…

UML类图与设计模式/原则

目录 类之间的关系依赖泛化(继承)实现关联聚合组合 设计模式的七大原则设计模式单例工厂模式原型模式&#xff08;深/浅拷贝&#xff09;建造者模式适配器模式桥接模式装饰者模式组合模式外观模式享元模式代理模式模板方法模式命令模式访问者模式迭代器模式观察者模式中介者模式…

chatgpt赋能Python-python3_8_5安装后怎么打开

Python3.8.5安装后怎么打开&#xff1a;简易步骤指南 Python是一种高级编程语言&#xff0c;被广泛用于数据分析、机器学习、自动化、网络编程等多个方面。Python语言优雅简洁&#xff0c;易于上手&#xff0c;是编程初学者的最佳入门语言之一。本文将介绍Python3.8.5版本的安…

C++ 红黑树(更新中)

前言 上篇博客学习了平衡二叉搜索树(AVLTree)&#xff0c;了解到AVL树的性质&#xff0c;二叉搜索树因为其独特的结构&#xff0c;查找、插入和删除在平均和最坏情况下都是O(logn)。AVL树的效率就是高在这个地方。 但是在AVL树中插入或者删除结点&#xff0c;使得高度差的绝对…

学系统集成项目管理工程师(中项)系列22c_信息化知识(下)

1. 新一代信息技术对产业的推动 1.1. 加快建设宽带、泛在、融合、安全的信息网络基础设施&#xff0c;推动新一代移动通信、下一代互联网核心设备和智能终端的研发及产业化&#xff0c;加快推进三网融合&#xff0c;促进物联网、云计算的研发和示范应用 1.2. 大数据 1.2.1. …

申请GPT-4插件,等待GPT-4插件候补全过程

前言 GPT4相信大家都知道它的升级是带来更多惊喜的&#xff0c;目前GPT4已经推出了网页和插件功能&#xff0c;这些插件是专门为语言模型设计的工具。插件可以帮助 ChatGPT 访问最新信息、运行计算或使用第三方服务。写文记录一下&#xff0c;如果你现正好有需要GPT-4 插件的需…

基于springboot就业信息管理系统

开发技术与环境配置 以Java语言为开发工具&#xff0c;利用了当前先进的springboot框架&#xff0c;以MyEclipse10为系统开发工具&#xff0c;MySQL为后台数据库&#xff0c;开发的一个就业信息管理系统。 SpringBoot框架 SpringBoot是一个全新开源的轻量级框架。基于Spring…

chatgpt赋能Python-python3_8怎么打开

Python 3.8&#xff1a;如何下载和打开 Python 3.8是一种高级编程语言&#xff0c;被广泛应用于人工智能、数据分析和网络编程等领域。本文将介绍如何下载和打开Python 3.8以及其优点和用途。 下载Python 3.8 Python 3.8的下载地址为官方网站。根据不同操作系统的需求&#…

系统清理优化工具:CCleaner

哈喽&#xff0c;大家好。今天带各位小伙伴们学习一款系统清理优化工具——CCleaner。 CCleaner是一款系统优化和隐私保护工具。它可以用来清除Windows系统不再使用的垃圾文件&#xff0c;以腾出更多硬盘空间。也可以清除使用者的上网记录。它的体积小&#xff0c;运行速度快&…

java+springboot高校校友校园信息管理系统

本高校校友信息管理系统使用Web开发&#xff0c;运行在Internet环境之上&#xff0c;系统的后台编程语言使用JAVA&#xff0c;数据库使用MySQL。完成了两个用户角色的功能&#xff0c;管理员管理所有信息&#xff0c;前台学生用户登录后查看公告&#xff0c;在线捐赠申请&#…

docker是怎么决定容器内容存储到哪个目录的?(存储驱动决定的)(乱七八糟的)

文章目录 docker是怎么决定容器内容存储到哪个目录的&#xff1f;docker对我/var这个目录有没有什么要求&#xff0c;比如要求它的文件系统是指定的类型如果我Docker的默认存储驱动是overlay2&#xff0c;但是我/var目录的文件系统不是overlay2&#xff0c;这没影响吗&#xff…

chatgpt赋能Python-python3_7_1如何使用

Python 3.7.1使用指南 Python自从出现以来&#xff0c;已经成为了一个非常流行的编程语言&#xff0c;每年都会更新版本以满足不断变化的市场需求。其中最新版本是Python 3.7.1&#xff0c;它与其前身相比提供了许多改进和新功能&#xff0c;同时也解决了一些已知的问题。本文…