如何支持测试facebook身份验证的不同阶段

时间:2014-02-24 12:07:48

标签: ruby-on-rails facebook omniauth

我正在使用omniauth-facebook开发一个rails应用程序进行身份验证。我有3个不同的阶段(localhost,staging.mycompany.com,production.mycompany.com)用于测试目的

我应该如何注册facebook应用程序,我是否应该为所有3个阶段进行注册 https://developers.facebook.com/x/apps/appid/settings/(appid是对我的Facebook应用程序的引用)

由于以上所有3个阶段的网站网址都不同。

1 个答案:

答案 0 :(得分:2)

只需注册3个不同的应用程序,并使用这些键创建一个yaml文件(social.yml)。类似的东西:

development:
  fb_key: 123
  fb_secret: abc
production:
  fb_key: 345
  fb_secret: def      

然后在初始化程序中创建它的全局变量:

SOCIAL_CONFIG = YAML.load_file("#{::Rails.root}/config/social.yml")[::Rails.env]

这样,您始终可以使用正确的密钥来处理您所处的环境。