代码之家  ›  专栏  ›  技术社区  ›  mdmb

在.npmrc中使用身份验证令牌

npm
  •  0
  • mdmb  · 技术社区  · 6 年前

    here 并添加了 .npmrc 用我的身份验证令牌存档。

    这是一个安全的行为,把它放在回购?我希望开发人员能够访问它,但如果回购协议公开,我们可能会暴露令牌。

    在这种情况下最好的做法是什么?

    0 回复  |  直到 5 年前
        1
  •  36
  •   Brian Zelip    3 年前

    更新2021-05-02

    或许可以试试@konyak的答案。


    绝对不是 将令牌放入任何git检查过的文件(包括.npmrc)的安全行为。

    以下是您的团队可以采取的安全利用您的npm代币的步骤。

    1. 每个开发者的本地开发机器

    本地开发人员

    跟随 Global Set Up instructions

    创建.npmrc文件,类似于 "Per project" instructions , $ . 即:

    @fontawesome:registry=https://npm.fontawesome.com/
    //npm.fontawesome.com/:_authToken=$TOKEN
    

    .env . 所以,在一个 .gitignore d.env文件,添加您的密钥-值对,即:

    TOKEN=ABC123
    

    npm-config docs ,即:

    NPM_CONFIG_TOKEN=ABC123
    

    现在,当dev运行时 npm i

    注意 :不要遵循当前npm config文档中关于环境变量语法的说明!看到了吗 this stack overflow answer ,即:

    👎 BAD npm-config ENVIRONMENT VAR SYNTAX 👎
    
    ${TOKEN}
    
    👍 GOOD npm-config ENVIRONMENT VAR SYNTAX 👍
    
    $TOKEN
    

    应用部署平台

    执行上面local dev部分的所有步骤,另外:

    • 在平台上创建一个与.npmrc文件中同名的环境变量。

    Build Environment Variables docs

        2
  •  18
  •   konyak    4 年前

    https://docs.npmjs.com/using-private-packages-in-a-ci-cd-workflow

    将秘密令牌导出到会话中,例如。, export NPM_TOKEN="00000000-0000-0000-0000-000000000000"

    在你的 ~/.npmrc ,添加 //registry.npmjs.org/:_authToken=${NPM_TOKEN}