我有一个npm包(用node.js编写),用于创建GitHUb存储库。我想更新授权以使用OAuth令牌。 Oauth令牌需要一个客户端ID和一个我需要保密的客户端密码。我如何将其包含在npm软件包中而不泄露信息并损害我的凭据。
您不将令牌包含在软件包中,而是从您的环境中读取令牌。然后,您可以在包中读取这些变量。
例如,如果将变量导出为环境变量,则可以通过procss.env
读取它们。
procss.env
然后在启动外壳程序的外壳程序或点文件中,可以简单地导出值。
var clientId = process.env.MY_CLIENT_ID;
var clientSecret = process.env.MY_CLIENT_SECRET;
console.log(clientId, clientSecret);
要与持续集成服务一起使用,应该有一种创建秘密或隐藏环境变量(export MY_CLIENT_ID='myid'
export MY_CLIENT_SECRET='mysecret'
)的方法。
或者,如果您需要使用这些相同的凭据,并且您不希望人们能够访问这些凭据,则必须设置一个服务器来接受来自客户端的请求并使用您的凭据执行这些操作。