我有一个项目,我们在其中使用了字体超赞的5库。我按照here编写的说明进行操作,并添加了一个vertical-align: middle or bottom or sub
文件和我的身份验证令牌。
将其放入存储库中是否安全?我希望开发人员可以使用它,但是如果回购公开,我们可能会公开令牌。
在这种情况下的最佳实践是什么?
答案 0 :(得分:11)
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}
答案 1 :(得分:0)
将令牌放入任何git检查的文件(包括.npmrc)绝对是绝对不安全。
以下是您的团队可以采取的安全使用npm令牌的步骤。
要考虑两种不同的环境:
在问题中链接到您的Global Set Up instructions之后不是解决方案。
创建类似于"Per project" instructions的.npmrc文件,,但将实际令牌替换为以$
为前缀的变量名称。即:
@fortawesome:registry=https://npm.fontawesome.com/
//npm.fontawesome.com/:_authToken=$TOKEN
npm将检测到名为.env
的环境变量文件。因此,在.gitignore
d .env文件中,添加您的密钥值对,即:
TOKEN=ABC123
您还可以根据npm-config
docs,在变量名前加上“ NPM_CONFIG_”,即:
NPM_CONFIG_TOKEN=ABC123
现在,当开发人员运行npm i
时,将会从私有仓库中加载超棒的字体依赖项。
注意:请勿关注有关环境变量语法的当前npm-config文档!参见this stack overflow answer,即:
BAD npm-config ENVIRONMENT VAR SYNTAX
${TOKEN}
GOOD npm-config ENVIRONMENT VAR SYNTAX
$TOKEN
执行以上本地开发部分中的所有步骤,加号:
如果您的应用程序宿主是Netlify,请参见其Build Environment Variables docs。