0

对于omniuath-twiiter,我想设置多个开发人员帐户但我无法在运行时设置环境变量

请帮忙

4

1 回答 1

0

您可以将 id 和 secret 添加到配置文件中,例如config.yml忽略config.ymlin .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

而已

于 2015-06-25T06:29:28.380 回答