阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      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当前正在努力在所有情况下立即撤消。

      目录
      目录