我需要从本地应用程序测试omniauth-facebook身份验证。但是,Facebook开发者网站要求Site URL
并且我不确定要为本地开发URL提供什么来获得正确的回调。
如何解决此问题?
答案 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
,您应该可以通过新的应用登录。