我让Devise设置与我的rails应用程序一起使用并尝试使用Omniauth添加FB登录。我已按照https://github.com/plataformatec/devise/wiki/OmniAuth%3A-Overview的说明进行操作。在实现代码之后,当我点击Devise生成的链接登录到FB时,它会带我到一个页面来验证FB用户名和密码(如果我还没有登录到该计算机中的FB)。验证后,我被重定向到注册页面(用于设计电子邮件注册的页面)。我不知道为什么该应用无法登录/登录该应用。我已经看过关于这个主题的其他教程并尝试了一些,但看起来它们已经过时了。任何帮助将不胜感激。
添加:查看日志文件,似乎我的用户(我称之为#34; userd")没有收到来自facebook的电子邮件。以下是日志文件的一部分,显示userd.email为null:
用户负载(40.9ms)SELECT" userds"。* FROM" userds"在哪里"用户"。"提供商" =? AND" userds"。" uid" =? ORDER BY" userds"。" id" ASC限制1 [["提供商","脸书"],[" uid"," 1788392194714140"]] (0.1ms)开始交易 用户存在(0.6ms)SELECT 1 AS FROM FROM" userds"在哪里"用户"。"电子邮件" IS NULL LIMIT 1 (37.1ms)回滚事务 重定向到http://rails-project-165470.nitrousapp.com/userds/sign_up
编辑:所以,我确认问题只与facebook返回零邮件有关。如果我只是为Facebook用户硬编码一个电子邮件地址,登录工作,Facebook确实提供了用于我的应用程序的Facebook用户名。我需要弄清楚如何让FB提供用户的电子邮件地址。