我连接到几个API和使用基本身份验证,像这样:安全HTTP基本身份验证
this.jenkins = jenkinsapi.init('https://USERNAME:[email protected]:8080', {strictSSL: false});
我关心的只是有用户的密码只是一个变量或纯文本坐在那里。它在'私人'方法内,但如果有人能够在服务器上查看源代码,他们将能够查看用户名和密码。
如何使这个更安全,同时仍然使用http basic auth?
我连接到几个API和使用基本身份验证,像这样:安全HTTP基本身份验证
this.jenkins = jenkinsapi.init('https://USERNAME:[email protected]:8080', {strictSSL: false});
我关心的只是有用户的密码只是一个变量或纯文本坐在那里。它在'私人'方法内,但如果有人能够在服务器上查看源代码,他们将能够查看用户名和密码。
如何使这个更安全,同时仍然使用http basic auth?
看看环境变量。 These are available in Node.js。
process.env.ENV_VARIABLE
凡ENV_VARIABLE
是在系统中定义运行的应用程序的东西。对于isntance,在Heroku上运行的Node.js应用程序中,公共托管在Github上,我使用的是process.env.MONGOLAB_URI
而不是包含数据库名称,用户名和密码的SQL类型的字符串。由于Heroku,我已经自动配置了这个,但是我也可以在我的操作系统(本例中是Windows)中本地设置变量,以便代码也可以在本地运行。
同时检查出this answer关于在Jenkins中使用环境变量。
使用配置文件来存储用户名/密码,理想情况下是一个在服务器中加载的文件,而不是在web应用程序或构建中,所以即使开发人员也不知道生产的用户名/密码。 – Walfrat