node.js - 如何将环境变量与 npm 包一起使用

标签 node.js environment-variables secret-key npm-package

我有一个 npm 包(用 node.js 编写),用于创建 GitHUb 存储库。我想更新授权以使用 OAuth token 。 Oauth token 需要一个客户端 ID 和一个我需要保密的客户端 key 。如何将其包含在 npm 包中而不泄露信息并损害我的凭据。

最佳答案

您不将 token 包含在包中,而是从您的环境中读取它。然后您可以读取包中的这些变量。

例如,如果将变量导出为环境变量,则可以通过 procss.env 读取它们.

var clientId = process.env.MY_CLIENT_ID;
var clientSecret = process.env.MY_CLIENT_SECRET;

console.log(clientId, clientSecret);

然后在您的 shell 或初始化 shell 的点文件中,您可以简单地导出这些值。

export MY_CLIENT_ID='myid'
export MY_CLIENT_SECRET='mysecret'

为了与持续集成服务一起使用,应该有一种方法来创建 secret 或隐藏的环境变量 ( for example with Travis CI )。

<小时/>

或者,如果您需要使用相同的凭据,并且不希望人们能够访问这些凭据,则必须设置一个服务器来接受来自客户端的请求并使用您的凭据执行这些操作。

关于node.js - 如何将环境变量与 npm 包一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59505973/

相关文章:

javascript - webpack 未加载我的字体文件

node.js - 为什么我的 Redis 实例每 2 分钟就会出现一次连接超时?

linux - 在 Ubuntu 中轻松更改 $JAVA_HOME

android - Android中如何存储 key ?

java - 无法成功将 SecretKey 保存为字符串

flask - 定时 JSON Web 签名序列化程序如何工作?

javascript - 将变量打印到 JSON NodeJS

java - Windows 7 cmd.exe可以运行java命令,但Intellij终端Java命令找不到并出错

windows - 如何在VBS 中使用MsgBox 中的计算机名环境变量?

javascript - 如何计算网页上的唯一访问者