1

我的办公室里有一个私人手工艺品。我使用 verdaccio 从 Internet 下载 npms,然后将它们插入到私人工件中。它很有效。我买了 Font Awesome 专业版,想下载 npm。如何传递给 verdaccion 安全令牌?没有令牌我无法下载 npm

tnx

4

1 回答 1

2

您实际上可以设置一个令牌对等体uplink,它将包含在每个请求中:

Verdaccio有两种方法可以满足您的需求:

  1. 带环境变量

如果要自定义自己的环境变量。

uplinks:
  private:
    url: https://private-registry.domain.com/registry
    auth:
      type: bearer
      token_env: FOO_TOKEN

或者我们默认NPM_TOKEN由 verdaccio 识别。

uplinks:
  private:
    url: https://private-registry.domain.com/registry
    auth:
      type: bearer
      token_env: true # defaults to `process.env['NPM_TOKEN']`

这在您害怕泄露敏感信息的 CI 环境中非常方便。

  1. 配置文件中的令牌
uplinks:
  private:
    url: https://private-registry.domain.com/registry
    auth:
      type: bearer
      token: "token"

我建议仅对本地开发执行此操作,在任何其他情况下请使用选项 1。

有关详细信息,请参阅有关 uplinks 的官方文档

请记住,您可以有不同的上行链接指向同一个注册表,例如:

uplinks:
  private:
    url: https://private-registry.domain.com/registry
    auth:
      type: bearer
      token: "token"  
   private2:
    url: https://private-registry.domain.com/registry2
    auth:
      type: bearer
      token: "token"

 packages:
   '@my-company/*':
     access: $access
     publish: $authenticated
     proxy: private private2

在这种情况下,包将有权访问受令牌保护的两个源,如果一个返回 404,则第二个代理将尝试解析您的请求。

于 2020-10-16T07:29:20.970 回答