对于omniuath-twiiter我想设置多个开发者帐户但是我无法在运行时设置环境变量
请帮助
答案 0 :(得分:0)
您可以将ID和密码添加到config.yml
之类的配置文件中,并忽略config.yml
中的.gitignore
,跟踪config.example.yml
文件,以使每个开发人员都能轻松使用。
omniauth:
providers:
- { name: 'google_oauth2', app_id: 'YOUR_APP_ID',
app_secret: 'YOUR_APP_SECRET',
args: { access_type: 'offline', approval_prompt: '' } }
- { name: 'twitter', app_id: 'YOUR_APP_ID',
app_secret: 'YOUR_APP_SECRET'}
和config omniuath-twiiter
只需通过Settingslogic
gem在config.yml中使用params,它很容易使用,将代码放入config/initializers/
class Settings < Settingslogic
source "#{Rails.root}/config/config.yml
namespace Rails.env
end
module Foobar
def self.config
Settings
end
end
然后配置如下所示的omniauth:
Foobar.config.omniauth.providers.each do |provider|
config.omniauth provider['name'].to_sym, provider['app_id'], provider['app_secret'], provider['args']
end
就是这样