npm 使用安全Token

🌙
手机阅读
本文目录结构

Token

需要npm 5.5.1或更高版本

每当您登录npm时,都会生成一个安全token

token对您的帐户进行身份验证,并授予您发布和访问模块的权限。

因为token只是一个十六进制字符串,所以您可以在其他工具(例如,连续集成测试环境)中使用token,以便该工具可以以完成任务所需的访问权限运行。

例如,Travis-CI提供了可以分配给token值的环境变量。

这使Travis-CI能够以npm用户身份运行npm,包括安装有权访问的私有软件包的能力。

阅读本章以了解如何管理安全性token

注意:如果您希望将token用于测试和其他特殊目的,则需要执行其他步骤。这些步骤不在本章范围之内。

token命令使您能够:

  • 查看token以简化跟踪和管理。
  • 创建新token,指定只读或完全权限。
  • 删除/撤销token
  • 根据IP地址范围(CIDR)限制访问。

如何查看您帐户上的token

要查看与您的帐户关联的token,请输入:

npm token list.

https://a.axihe.com/edu/npm/npm-token-list-01.png

下表说明了token列表。

https://a.axihe.com/edu/npm/npm-token-list-02.png

token可以是只读的,也可以是CIDR列入白名单的token

如果您在配置文件上启用了两因素身份验证,那么您已经实现了附加的安全层。

注意:token列表显示token的截断版本。如果需要查看完整的token,请查看npmrc文件。

如何创建新token

npm token create [--read-only] [--cidr=list]

在创建新token之前,请确定所需的token类型:

  • 只读(安装/发行权)
  • 完全许可(发布权)
  • CIDR白名单(受IP地址限制)

token的默认设置为完全许可。

  • 只读token允许安装和分发。
  • 完全许可token允许安装,分发,发布以及您对帐户拥有的所有权利
  • CIDR白名单token只能在指定的IP地址范围内使用。例如,使用此功能将token限制为单个公司或指定的开发人员团队。目前,仅支持IPv4。

如果token是只读的,则不能将其用于更改程序包。如果token未明确设置为只读,则它具有完全权限,包括发布和修改权限。

如何创建新的完全许可token

要创建新的完全许可权token,请输入:

npm token create

如果您设置了双重身份验证,将提示您输入npm密码,然后是OTP。npm将显示此表:

https://a.axihe.com/edu/npm/npm-token-list-03.png

提示:保存token字段的屏幕快照,因为这是您查看token的唯一机会。

请注意,只读默认为false。

如何创建一个新的只读token

要创建一个新的只读token,请输入:

npm token create --read-only

如果您设置了两因素身份验证,则将提示您输入npm密码,然后是OTP。npm将显示此表:

https://a.axihe.com/edu/npm/npm-token-list-04.png

请注意,只读设置为true。

如何创建新的CIDR限制token

要限制token,使其只能从指定的IP地址使用,可以创建CIDR限制的token。CIDR是无类域间路由的缩写。该CIDR Wiki页面将让你开始。

使用CIDR限制可以使您强制任何使用token的人或任何系统物理地或远程地位于指定的ip地址范围内。

npm token create --[--cidr=list]

例。:

npm token create --cidr=192.0.2.0/24

如果您设置了两因素身份验证,则将提示您输入npm密码,然后是OTP。npm将显示此表:

https://a.axihe.com/edu/npm/npm-token-list-05.png

如果您看到这样的消息:

npm ERR! CIDR whitelist contains invalid CIDR entry: X.X.X.X./YY,Z.Z.. . .

(返回的字符串是您输入的字符串),请确保CIDR字符串有效且格式正确。注意:npm目前仅支持IPv4。

如何创建CIDR限制的只读token

要创建也是只读的CIDR限制token,请输入:

npm token create --read-only --cidr=list

如何撤销token

无论token是何时创建的,都可以删除(撤消)token。这使您可以控制可能希望收回的访问。

删除token的命令是:

npm token delete

步骤如下:

类型 npm token list

  • 查找与要删除的token关联的tokenID。
  • 输入’npm token delete 123456',其中123456是tokenid。注意:token的截断版本将不起作用。
npm will report 'Removed 1 token'

输入 npm token list 以确认token已被删除。

以下屏幕截图演示了这些步骤:

https://a.axihe.com/edu/npm/npm-token-list-06.png

注意:屏幕插图中显示的所有标记都已被撤销。

注意:在某些情况下,成功撤消token可能会延迟一个小时。npm当前正在努力在所有情况下立即撤消。


AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

目前重心已经放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>