我正在连接到几个 API 并使用基本身份验证,如下所示:
this.jenkins = jenkinsapi.init('https://USERNAME:PASSWORD@this-is-a-jenkins.server.local:8080', {strictSSL: false});
我担心用户的密码只是以变量或纯文本的形式存在。它位于“私有(private)”方法中,但如果任何人能够查看服务器上的源代码,他们就能够查看用户名和密码。
如何在仍然使用 http 基本身份验证的同时使它更安全?
最佳答案
看看环境变量。 These are available in Node.js .
process.env.ENV_VARIABLE
ENV_VARIABLE
是在运行应用程序的系统中定义的内容。例如,在我在 Heroku 上运行并公开托管在 Github 上的 Node.js 应用程序中,我使用 process.env.MONGOLAB_URI
而不是包含数据库名称、用户名和密码。由于 Heroku,我已经自动配置了这个,但我也可以在我的操作系统(在本例中为 Windows)中本地设置变量,这样代码也将在本地运行。
另请查看 this answer关于在 Jenkins 中使用环境变量。
关于javascript - 安全 HTTP 基本身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36865944/