我正在尝试实现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.0
和Rails 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'