0

嘿,所以我似乎无法让 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

此外,我正在使用带有掩码的自定义域名,仅供参考,以防出现问题。同样,我不这么认为,因为我会得到一个错误屏幕而不是什么都没有,但以防万一。

谢谢,我真的很期待您提出的任何提示或故障排除!一旦我开始工作,我计划在博客上写一篇关于设置所有这些的教程,因为它是一场噩梦。

4

1 回答 1

0

问题是我拼错了一个变量。代码很好...

感谢@Ashitaka 为我提供的双重帮助!

于 2012-10-06T16:24:19.583 回答