可以在rails应用程序中的运行时(生产)设置环境变量吗?

时间:2017-09-30 12:32:31

标签: selenium ruby-on-rails-4 web-scraping environment-variables production-environment

我正在构建一个Web应用程序,其核心功能包括在亚马逊上执行自动CRUD任务。给定正确的用户登录名和密码,应用程序用户将能够删除并添加亚马逊地址。我正在使用带有mozilla代理的selenium web-driver进行自动化任务。目前,使用figaro gem在application.yaml文件中对用户名和密码进行了硬编码。我想要的是访问该应用程序的任何人能够输入他们自己的亚马逊用户名和密码,以便地址删除和删除过程发生在他们自己的亚马逊帐户。

有没有办法可以通过表单(当然他们同意)捕获当前用户的登录名和密码,并在运行时在secrets.yaml中将这些设置为环境变量。因此登录名变为

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

,密码变为

amazon_pass_word:&lt;%= ENV [“SECRET_PASS_WORD”]%&gt;

或者是否有更好,更简洁的方法来完成这项工作?

只是为了进一步澄清和简化:我想做的就是让用户通过我的应用程序登录他们的亚马逊帐户,这样我的应用程序就可以在他们的亚马逊帐户上执行地址自动化(批量添加和删除送货地址) 。任何安全的方法都是受欢迎的。

1 个答案:

答案 0 :(得分:1)

对于每个用户设置,最简单的方法是在用户会话中设置它,如果你愿意,可以加密。

像这样:

session[:super_secret_pass] = 'somepassword'

然后将其从控制器传递到您调用它的位置。