我将Facebook OmniAuth用于本地环境的“站点URL”是什么?

时间:2011-12-30 02:45:33

标签: ruby-on-rails facebook omniauth

我需要从本地应用程序测试omniauth-facebook身份验证。但是,Facebook开发者网站要求Site URL并且我不确定要为本地开发URL提供什么来获得正确的回调。

如何解决此问题?

2 个答案:

答案 0 :(得分:4)

只需使用http://localhost:3000/作为Facebook开发者网站上的网站网址,它就可以与OmniAuth一起使用。

答案 1 :(得分:1)

如果您想在本地主机上进行测试并保持生产环境正常运行:

1-仅为开发目的创建新的Facebook应用

2-将网站网址字段设置为:http://localhost:3000/

3-然后编辑/config/initializers/omniauth.rb文件以匹配以下内容:

OmniAuth.config.logger = Rails.logger

Rails.application.config.middleware.use OmniAuth::Builder do
  if Rails.env.development?
    OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
    provider :facebook, 'DEV_APP_ID', 'DEV_APP_SEVRET'
  else
    provider :facebook, 'DEPLOY_APP_ID', 'DEPLOY_APP_SECRET'
  end
end

然后重新启动rails server,您应该可以通过新的应用登录。