我有一个 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/