我連接到幾個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