omn​​iauth.rb的条件app_id。 Localhost和heroku没有改变omniauth.rb

时间:2013-09-28 10:53:17

标签: ruby-on-rails ruby facebook heroku omniauth

我有一个带有facebook身份验证的rails 4应用程序,我已经将它部署在heroku上。 有时我使用localhost调试我的应用程序。这就是我在facebook开发者页面上创建两个应用程序的原因 - 第一个使用heroku_address(app_id 1和app_secret 1),第二个使用localhost_address(app_id 2和app_secret 2)。

我的问题是如何配置我的omniauth.rb,以便如果heroku_adress或app_id 2设置为localhost,my_rails_app将使用app_id 1 set。我希望我的appliction_authentication在localhost和heroku_url上都可以工作,而无需更改omniauth.rb。

这是我的omniauth.rb:

OmniAuth.config.logger = Rails.logger

Rails.application.config.middleware.use OmniAuth::Builder do
     provider :facebook, '229517473864398', '88c42ceadf5ac4baeb36333a5fc990ac' #, {:client_options => {:ssl => {:ca_path => "/etc/ssl/certs"}}}

   # provider :facebook, '1397526230476094', '5fd1171c4781525b9e5a873c095f4d6e' #, {:client_options => {:ssl => {:ca_path => "/etc/ssl/certs"}}}
   end
 end

提前感谢您的关注!

1 个答案:

答案 0 :(得分:2)

最好的方法是将这些信息放在ENV中。 It's easy to do with heroku,请使用figaro gem if needed