首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用身份验证令牌

需要npm版本5.5.1或更高版本

无论何时登录npm,都会生成身份验证令牌。令牌授予您发布和访问模块的权限。

由于令牌只是一个十六进制字符串,因此您可以在其他工具中使用该令牌,例如持续集成测试环境,以便该工具可以使用完成任务所需的访问权限运行。例如,Travis-CI提供了一个可以分配给标记值的环境变量。这使Travis-CI能够以npm用户身份运行npm,包括安装您有权访问的私有包的能力。

阅读本章以了解如何管理安全令牌。

令牌命令使您能够:

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

注意:*如果您希望使用令牌进行测试和其他特殊用途,还需要执行其他步骤。

您可以使用Web或CLI中的令牌,最简单的方法。您在每个环境中所做的工作将反映在其他环境中。

要开始转到令牌页面。

  1. 登录网站。
  2. 从“头像用户”菜单中选择“标记”:

或者,如果您在Web上的另一个选项卡中工作,则可以单击“标记”选项卡:

创建一个新令牌

如何查看您帐户上的代币

如何查看您帐户上的代币

要查看与您的帐户关联的令牌,请键入:

npm token list

下表说明了令牌列表。

令牌可以是只读的,也可以是CIDR白名单。

如果您在配置文件上启用了双因素身份验证,则表明您已实现了额外的安全层。

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

如何创建新令牌

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

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

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

新令牌的默认设置是完全权限。

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

当令牌是只读时,它不能用于更改包。如果未将令牌显式设置为只读,则它具有完全权限,包括发布和修改权限。

如何创建新的完全权限标记:

要创建新的完整权限令牌,请键入:

'npm token create'

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

提示:保存令牌字段的屏幕截图,因为这是您查看它的唯一机会。

请注意,只读默认为false

如何创建新的只读令牌

要创建新的只读令牌,请键入:

npm token create --read-only

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

请注意,只读设置为true

如何创建新的CIDR限制令牌

要限制令牌以便只能从指定的IP地址使用它,您可以创建一个受CIDR限制的令牌。CIDR是Classless Inter-Domain Routing的首字母缩写。该CIDR Wiki页面将让你开始。

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

代码语言:javascript
复制
    npm token create --[--cidr=list]

例:

代码语言:javascript
复制
    npm token create --cidr=192.0.2.0/24

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

如果您看到如下消息:

代码语言:javascript
复制
npm ERR! CIDR whitelist contains invalid CIDR entry: X.X.X.X./YY,Z.Z.. . .

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

如何创建CIDR限制的只读令牌

要创建也是只读的CIDR限制令牌,请键入:

代码语言:javascript
复制
npm token create --read-only --cidr=list

如何撤销令牌

无论何时创建令牌,您都可以删除(撤销)令牌。这使您可以控制您可能希望收回的访问权限。

删除令牌的命令是:

npm token delete

以下是步骤:

  1. 类型 npm token list
  2. 找到您要删除的令牌附属的令牌ID。
  3. 输入'npm token delete 123456',其中123456是令牌ID。注意:令牌的截断版本不起作用。
代码语言:javascript
复制
npm will report 'Removed 1 token'

输入“npm令牌列表”以确认该令牌已被删除。

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

注意:屏幕插图中显示的所有令牌均已被撤销。

注意:在某些情况下,成功撤销令牌之前可能会有一个小时的延迟。npm目前正致力于在所有情况下立即进行撤销。

扫码关注腾讯云开发者

领取腾讯云代金券