在.npmrc中使用身份验证令牌
我有一个项目,我们使用的字体真棒5库。我按照编写的说明添加了一个带有auth令牌的在.npmrc中使用身份验证令牌,npm,environment-variables,font-awesome,Npm,Environment Variables,Font Awesome,我有一个项目,我们使用的字体真棒5库。我按照编写的说明添加了一个带有auth令牌的.npmrc文件 将其纳入回购协议是否安全?我希望开发人员能够访问它,但如果回购协议公开,我们可能会公开令牌 在这种情况下,最佳做法是什么?更新2021-05-02 这个答案仍有疑问-请参阅下面的评论。我再也不能访问私人(付费)npm帐户了,所以我再也不能测试回答问题了 也许试试@konyak的答案 将令牌放入任何git检查过的文件(包括.npmrc)中肯定不是一种安全的行为 以下是您的团队可以采取的安全利用您的
.npmrc
文件
将其纳入回购协议是否安全?我希望开发人员能够访问它,但如果回购协议公开,我们可能会公开令牌
在这种情况下,最佳做法是什么?更新2021-05-02 这个答案仍有疑问-请参阅下面的评论。我再也不能访问私人(付费)npm帐户了,所以我再也不能测试回答问题了 也许试试@konyak的答案
将令牌放入任何git检查过的文件(包括.npmrc)中肯定不是一种安全的行为 以下是您的团队可以采取的安全利用您的npm代币的步骤 有两种不同的环境需要考虑:
$
。即:
@fontawesome:registry=https://npm.fontawesome.com/
//npm.fontawesome.com/:_authToken=$TOKEN
npm将检测名为.env
的环境变量文件。因此,在.gitignore
d.env文件中,添加您的密钥-值对,即:
TOKEN=ABC123
您还可以根据,即,在变量名前面加上“NPM_CONFIG_”前缀:
现在,当dev运行npmi
时,将从私有repo加载字体依赖项
注意:关于环境变量语法,不要遵循当前的npm配置文档!见,即:
将您的秘密令牌导出到会话中,例如,Export NPM_token=“00000000-0000-0000-0000-000000000000”
在您的~/.npmrc
中,添加//registry.npmjs.org/:\u authToken=${NPM\u TOKEN}
NPM安装从.env读取的文档记录在哪里?此解决方案不适用于我,未检测到环境变量。在.npmrc中,不需要“$”您如何防止npm login
将您的身份验证令牌放回那里?您链接到的关于为什么$token
比${token}
更可取的答案已被删除(而且,从来没有解释过为什么应该优先选择$TOKEN
,只是说它应该优先)。请详细说明一下:为什么$TOKEN
比${TOKEN}
更可取?如果一个对你有效,而另一个对你无效,你使用的是哪个操作系统?关于扩展的答案是不正确的$TOKEN
和${TOKEN}
在扩展到什么方面是相同的。引用bash手册中的“$”字符会引入参数扩展、命令替换或算术扩展。要扩展的参数名称或符号可以用大括号括起来,大括号是可选的
(lmk如果你想让我链接到zsh手册,说同样的话:D)这是我在过去4个小时里寻找的答案!我不知道我发现的所有其他答案在Win&Mac上是否都有效,但这实际上是我在Linux上唯一有效的解决方案!谢谢你!(我只能向上投票1次……这需要更多的向上投票!)
NPM_CONFIG_TOKEN=ABC123