管理Node.JS的Web服务凭据的最佳实践?

Cha*_*esW 5 credentials node.js

我们正在计划一个安全的Node.JS服务器,该服务器使用多个第三方Web服务.每个都需要运营团队需要配置的凭据.

显然,他们可以简单地将它们以纯文本形式放入配置文件中.

Microsoft .NET似乎为DPAPI提供了更好的选择 - 请参阅凭据存储最佳实践.有没有办法通过IISNode提供此功能?或者是否有其他选项可以在Node-JS配置中保护此类凭据?

  • 查尔斯

xSh*_*ase 2

有两种方法可以安全地做到这一点:

第一个是在启动应用程序时使用命令行参数。

然后在中找到这些参数process.argv

所以,node myapp.js username password会给你:

process.argv[0]=node
process.argv[1]=/.../myapp.js (absolute path)
process.argv[2]=username 
process.argv[3]=password 
Run Code Online (Sandbox Code Playgroud)

其次是将凭据设置为 ENV 变量。它通常被认为是最佳实践,因为只有您才能访问这些变量。

您必须使用导出命令设置变量,而不是在中访问它process.env