对于omniuath-twiiter,我想设置多个开发人员帐户但我无法在运行时设置环境变量
请帮忙
您可以将 id 和 secret 添加到配置文件中,例如config.yml
忽略config.yml
in .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'}
并且 configomniuath-twiiter
只是通过 gem 使用 config.yml 中的参数Settingslogic
,它很容易使用,将代码放入一个文件中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
而已