嘿,所以我似乎无法让 Facebook、OmniAuth、Rails 和 Heroku 一起玩。在本地一切正常。
问题
怎么了?当我点击登录时,它根本不做任何事情。在 Firebug 上,它在本地显示一个 Facebook Oauth 请求被触发,但在真实站点上没有发生这样的请求。相反,我在控制台中收到了消息FB.login() called before FB.init()
。
当我更改 Facebook 上的 url 并尝试在本地登录时,我从 Facebook 收到一条错误消息,这意味着发生了请求。所以,我认为这个问题与证书有关。
这并没有解决它:omniauth with facebook not working on production,虽然我不知道要输入什么权限。我不使用任何扩展的 fb 图表权限,它在本地工作而没有指定任何权限(参见下面的初始化程序)。
我的设置
在 Facebook 上的“选择您的应用程序如何与 Facebook 集成”下,我Website with Facebook login
选择了“站点 URL”,我选择了工作http://0.0.0.0:3000
或不工作http://mysite.tld
。
这是我的 omniath.rb 初始化程序
OmniAuth.config.logger = Rails.logger
Rails.application.config.middleware.use OmniAuth::Builder do
provider :facebook, ENV['FACEBOOK_APP_ID'], ENV['FACEBOOK_SECRET'], {
client_options: { ssl: {
ca_file: '/usr/lib/ssl/certs/ca-certificates.crt',
ca_path: "/etc/ssl/certs"
}}
}
end
此外,我正在使用带有掩码的自定义域名,仅供参考,以防出现问题。同样,我不这么认为,因为我会得到一个错误屏幕而不是什么都没有,但以防万一。
谢谢,我真的很期待您提出的任何提示或故障排除!一旦我开始工作,我计划在博客上写一篇关于设置所有这些的教程,因为它是一场噩梦。