您可以从网站和命令行界面 (CLI) 创建查看 访问令牌。

创建访问令牌

在网站上创建传统令牌

注意: 为了提高安全性,我们建议使用 细粒度访问令牌 而不是传统的只读令牌或传统的自动化令牌。

  1. 在页面右上角,单击您的个人资料图片,然后单击**访问令牌**。

    Screenshot of the account menu with the tokens link selected
  2. 单击**生成新令牌**,然后从下拉菜单中选择**传统令牌**。

    Screenshot of the create new token button
  3. (可选) 为您的令牌命名。

  4. 选择访问令牌类型

    • 只读: 只读令牌只能用于从注册表下载软件包。它将有权读取您有权访问的任何私有软件包。这对于您安装软件包但不发布新软件包的自动化和工作流来说是推荐的。

    • 自动化: 自动化令牌可以下载软件包并发布新软件包,但如果您在帐户上配置了双因素身份验证 (2FA),则**不会**强制执行。您可以在持续集成工作流和其他自动化系统中使用自动化令牌来发布软件包,即使您无法输入一次性密码。

    • 发布: 发布令牌可以代表您执行任何操作,包括下载软件包、发布软件包以及更改用户设置或软件包设置。如果您在帐户上配置了双因素身份验证,则在使用发布令牌时需要输入一次性密码。这对于 CLI 等交互式工作流来说是推荐的。

    Screenshot of the access level selection
  5. 单击**生成令牌**。

  6. 从页面顶部复制令牌。

在网站上创建细粒度访问令牌

  1. 在页面右上角,单击您的个人资料图片,然后单击**访问令牌**。

    Screenshot of the account menu with the tokens link selected
  2. 单击**生成新令牌**,然后单击**细粒度访问令牌**。

    Screenshot of the create new token button
  3. 在**令牌名称**字段中,输入令牌的名称。

  4. (可选) 在**描述**字段中,输入令牌的描述。

  5. 在**过期时间**字段中,输入令牌的过期时间。日期必须至少在未来 1 天。

  6. (可选) 在**允许的 IP 范围**字段中,输入 IP 地址范围以将您的访问令牌限制为这些范围。您必须使用 CIDR 表示法来输入 IP 地址范围。若要添加多个允许的 IP 范围,请单击**添加 IP 范围**并在新的文本字段中输入 IP 范围。

    Screenshot of the allowed IP ranges section
  7. (可选) 在**软件包和范围**部分,配置令牌对软件包和范围的访问权限。

    • 在**权限**下拉菜单中,选择**无访问权限**、**只读**或**读写**。
    • 在**选择软件包**下,选择以下任一选项:
      • 所有软件包,授予令牌对用户帐户有权访问的所有软件包的访问权限。
      • 仅选择软件包和范围,选择最多 50 个特定软件包或范围以授予令牌访问权限。然后从下拉菜单中选择特定软件包或范围。
    Screenshot of the packages and scopes section
  8. (可选) 在**组织**部分,配置令牌对组织的访问权限。

    • 在**权限**下拉菜单中,选择**无访问权限**、**只读**或**读写**。
    • 在**选择组织**下,选择您要授予令牌访问权限的组织。
    Screenshot of the organizations section

    注意: 当您授予令牌对组织的访问权限时,该令牌只能用于管理组织设置以及与组织关联的团队或用户。它不会授予令牌发布由组织管理的软件包的权限。

  9. 查看令牌摘要,然后单击**生成令牌**。

    Screenshot of the granular access token summary and the generate token button
  10. 从页面顶部复制令牌。

使用 CLI 创建令牌

您可以使用 CLI 创建具有**只读**权限或**读写发布**权限的令牌。

注意: 您无法从 CLI 创建传统的自动化令牌或细粒度访问令牌。您必须使用网站来生成这些类型的令牌。有关更多信息,请参阅“在网站上创建传统令牌”和“在网站上创建细粒度访问令牌”。

  • 只读: 允许仅安装和分发,但不允许发布或与您的帐户相关的其他权限的令牌。
  • 发布: 新令牌的默认设置,也是最宽松的令牌类型。发布令牌允许安装、分发、修改、发布以及您帐户上拥有的所有权限。

此外,您可以指定令牌仅对特定的 IPv4 地址范围有效,使用 CIDR 表示法。该令牌仅在从指定的 IP 地址使用时有效。

  1. 若要创建新令牌,请在命令行中运行
    • npm token create,用于读写发布令牌
    • npm token create --read-only,用于只读令牌
    • npm token create --cidr=[列表],用于 CIDR 限制的读写发布令牌。例如,npm token create --cidr=192.0.2.0/24
    • npm token create --read-only --cidr=[列表],用于 CIDR 限制的只读令牌
  2. 出现提示时,输入您的密码。
  3. 如果您已启用 双因素身份验证,则在出现提示时,输入一次性密码。
  4. 从命令输出中的**令牌**字段复制令牌。

CIDR 限制令牌错误

如果您输入的 CIDR 字符串无效或格式不正确,您将收到类似于以下内容的错误

npm ERR! CIDR 白名单包含无效的 CIDR 条目: X.X.X.X./YY,Z.Z.. . .

请确保您使用的是有效的 IPv4 范围,然后尝试再次创建令牌。

查看访问令牌

注意:完整的令牌永远不会显示,只会显示前四个和后四个字符。您只能在创建令牌后立即查看完整的令牌。

在网站上查看令牌

要查看与您的帐户关联的所有令牌,请在页面右上角点击您的个人资料图片,然后点击**访问令牌**。

Screenshot of the account menu with the tokens link selected

在 CLI 上查看令牌

要查看与您的帐户关联的所有令牌,在命令行中运行以下命令:

npm token list

令牌属性

  • id: 使用令牌 ID 在命令中引用该令牌。
  • token: 实际令牌的前几位数字。
  • create: 令牌创建日期。
  • readonly: 如果为“是”,则表示只读令牌。如果为“否”,则表示具有读写和发布权限的令牌。
  • CIDR 白名单: 通过 IP 地址限制令牌的使用。