带私人令牌的verdaccio

问题描述

我的办公室里有私人物品。 我使用verdaccio从互联网下载npms,然后将其插入到私有产品中。 它适用于Wonderfool。 我购买了Font Awesome专业版,并想下载npm。 如何传递给verdaccion安全令牌? 没有令牌,我无法下载npm

tnx

解决方法

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

使用Verdaccio,有两种方法可以实现所需的目标:

  1. 具有环境变量

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

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

或者我们是verdaccio识别的默认NPM_TOKEN

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。

有关更多信息,请参见official documentation about 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,则第二个代理将尝试解决您的请求。