1

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

4

1 回答 1

1

您没有在包中包含令牌,而是从您的环境中读取它。然后,您可以在包中读取这些变量。

例如,如果将变量导出为环境变量,则可以通过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'

为了与持续集成服务一起使用,应该有一种方法可以创建秘密或隐藏的环境变量(例如使用 Travis CI)。


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

于 2019-12-27T21:05:13.313 回答