0

我有一個web應用程序,我的建築物的核心功能涉及在亞馬遜上執行自動CRUD任務。鑑於正確的用戶登錄名和密碼,應用程序用戶將能夠在亞馬遜上刪除和添加地址。我在自動化任務中使用了帶有mozilla代理程序的selenium網絡驅動程序。目前,用戶名和密碼使用figaro gem在application.yaml文件中進行硬編碼。我想要的是訪問該應用的任何人都可以輸入自己的亞馬遜用戶名和密碼,以便地址刪除和刪除過程發生在他們自己的亞馬遜帳戶上。環境變量可以在運行時(生產)在Rails應用程序中設置?

有沒有一種方法可以通過表單(經過他們的同意)捕獲當前用戶的登錄名和密碼,並在運行時在secrets.yaml中將這些設置爲環境變量。所以,登錄名成爲

amazon_user_name: <%= ENV["SECRET_USER_NAME"] %> 

和密碼成爲

amazon_pass_word:<%= ENV [ 「SECRET_PASS_WORD」]%>

或者是有一個整體更好,更合適的方法來完成這件事?

只是爲了進一步明確和簡化:所有我想要做的就是讓用戶通過我的應用程序在他們的亞馬遜登錄到他們的亞馬遜帳戶,我的應用程序可以執行地址自動化(添加和刪除批量送貨地址)的手段帳戶。任何安全的方法來完成這一點是值得歡迎的。

+0

會創建一個表保存的用戶名/密碼不起作用?這將允許您在數據庫中加密這些密碼。 –

回答

1

對於每個用戶設置,最簡單的事情就是將其設置在用戶會話中,如果您願意,可以進行加密。

這樣的:

session[:super_secret_pass] = 'somepassword'

然後從控制器傳遞到你在哪裏調用它。

+0

剛剛起來......大部分的安全解決方案建議不要在會話中保存這些祕密。 –

+0

當然 - 你可以把它們放在db中,在用戶的模型中加入一些鹽作爲字段,或者其他的東西。只是不作爲環境變量,因爲這是一個應用程序範圍廣泛而不是用戶特定的 – dstull

+0

他試圖使用rails環境以外的信息嗎? –

相關問題