安全 HTTP 基本身份验证

Secure HTTP basic auth

我正在连接到几个 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 是在您的系统 运行 应用程序中定义的内容。例如,在我的 Node.js 应用程序 运行ning 在 Heroku 上,并在 Github 上公开托管,我使用 process.env.MONGOLAB_URI 而不是 SQL 类型的字符串包含数据库名称、用户名和密码。由于 Heroku,我已经自动配置了这个,但我也可以在我的 OS 中本地设置变量(在本例中为 Windows),这样代码将 运行 在本地,如嗯。

另请查看 this answer 关于在 Jenkins 中使用环境变量的信息。