【问题标题】:Secure HTTP basic auth安全 HTTP 基本身份验证
【发布时间】:2016-04-26 21:35:42
【问题描述】:

我正在连接一些 API 并使用如下基本身份验证:

this.jenkins = jenkinsapi.init('https://USERNAME:PASSWORD@this-is-a-jenkins.server.local:8080', {strictSSL: false});

我担心用户的密码只是以变量或纯文本形式存在。它位于“私有”方法中,但如果有人能够查看服务器上的源代码,他们将能够查看用户名和密码。

如何在仍然使用 http 基本身份验证的同时使其更安全?

【问题讨论】:

  • 使用配置文件存储用户名/密码,理想情况下是加载到服务器而不是 webapp 或构建中的文件,因此即使开发人员也不知道生产的用户名/密码。

标签: javascript node.js rest http basic-authentication


【解决方案1】:

看看环境变量。 These are available in Node.js.

process.env.ENV_VARIABLE

ENV_VARIABLE 是在运行应用程序的系统中定义的。例如,在我在 Heroku 上运行并在 Github 上公开托管的 Node.js 应用程序中,我使用 process.env.MONGOLAB_URI 而不是包含数据库名称、用户名和密码的 SQL 类型字符串。由于 Heroku,我已经自动配置了这个,但我也可以在我的操作系统(在本例中为 Windows)中本地设置变量,以便代码也将在本地运行。

还可以查看 this answer 关于在 Jenkins 中使用环境变量的信息。

【讨论】:

    猜你喜欢
    • 2015-08-08
    • 1970-01-01
    • 2018-09-07
    • 1970-01-01
    • 2015-09-06
    • 2021-03-21
    • 2011-11-12
    • 2011-05-05
    • 1970-01-01
    相关资源
    最近更新 更多