在 Rails 5 中使用 FacebookOmniauth



我正在尝试实现Facebook身份验证,但我被卡住了。我完全遵循了本指南

https://www.crondose.com/2016/12/guide-integrating-omniauth-rails-5-facebook-login-feature/

并收到此错误

我, [2017-11-07T00:55:47.114884 #12099] 信息 -- 全权身份验证: (脸书) 启动回调阶段。E, [2017-11-07T00:55:47.489634 #12099] 错误 -- omniauth:(facebook)身份验证失败!invalid_credentials: OAuth2::错误, :

Facebook API 版本 v2.10

我正在使用ruby 2.4.0Rails 5.1.4

你可能会收到此错误,因为你的应用 ID应用密钥不正确。 确保您的初始值设定项具有正确的 Facebook API 凭据:

# config/initializers/devise.rb
config.omniauth :facebook, <your App Id>, <your App Secret>,
  callback_url: "http://localhost:3000/users/auth/facebook/callback"

另一个提示:Facebook现在要求您指定要从Facebook返回的字段。 换句话说,如果你想要Facebook用户的电子邮件地址,你需要特别请求它。 过去,它是默认返回的。 您可以使用 Designing 配置中的 scope 参数请求字段。

例如,要请求 Facebook 用户的电子邮件和姓名,请执行以下操作:

# config/initializers/devise.rb
config.omniauth :facebook, <your App Id>, <your App Secret>,
  callback_url: "http://localhost:3000/users/auth/facebook/callback",
  scope: 'email,name'

相关内容

  • 没有找到相关文章

最新更新