【发布时间】:2016-06-06 23:02:56
【问题描述】:
我在使用 Facebook 登录时遇到了今天发生的问题。 我正在使用 Rails omniouth-facebook gem 通过 Fb 对用户进行身份验证。
所以,经过一些调试后,我发现我从 Facebook 收到的 uid 与特定用户存储在数据库中的 uid 不同。
我有这部分:
find_by(provider: auth.provider, uid: auth.uid)
其中 auth 是 env['omniauth.auth'],当我在我的数据库中手动检查 auth.email 的用户时 uids 不匹配,所以这个函数总是返回 nil 和登录失败。
有人知道可能是什么问题吗?真的很感激任何提示。
谢谢, 博扬
【问题讨论】:
-
UID 是否有作用域?根据 API 和上下文,Facebook 可能会返回与特定页面的关系唯一的 ID。
-
我不知道它是否有范围,我想是的,因为我已经注册了 Fb 应用程序。并且在暂存几乎相同的配置时,一切正常
-
我刚刚检查过,它的范围是因为它使用 V2.5 关键是它大约在 4-5 小时前工作,我不确定发生了什么以及如何解决它。
标签: ruby-on-rails facebook uid