本文介绍了在.npmrc中使用身份验证令牌的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个项目,我们使用字体可怕的5库。我按照here编写的说明进行操作,并使用我的auth内标识添加了一个.npmrc文件。

将其放入回购是一种安全的行为吗?我希望开发人员能够访问它,但如果回购公开,我们可能会暴露令牌。

在这种情况下,最佳实践是什么?

推荐答案

UPDATE 2021-05-02

此答案仍有疑问-请参阅下面的评论。我不再有权访问私人($付费)NPM帐户,因此我不能再通过测试回答问题。

或许可以尝试@Koniak的答案。


将令牌放入任何经过GIT检查的文件(包括.npmrc)中肯定不是安全行为。

以下是您的团队可以采取的安全利用您的NPM令牌的步骤。

有两种不同的环境需要考虑:

  1. 每个开发者的本地开发机器
  2. 应用的部署平台

本地开发

遵循您问题中链接的Global Set Up instructions不是解决方案。

创建与"Per project" instructions类似的.npmrc文件,但使用前缀为$的变量名替换您的实际令牌。IE:

@fontawesome:registry=https://npm.fontawesome.com/
//npm.fontawesome.com/:_authToken=$TOKEN
NPM将检测名为.env的环境变量文件。因此,在.gitignored.env文件中,添加您的密钥值对,即:
TOKEN=ABC123

根据npm-config docs,您还可以在变量名称前面加上";npm_config_";,即:

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

应用程序部署平台

执行上面本地dev部分中的所有步骤,外加:

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

如果您的应用程序主机是Netlify,请参阅他们的Build Environment Variables docs

这篇关于在.npmrc中使用身份验证令牌的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-15 02:21