request.env ['omniauth.auth'] [“info”] [“email”]返回nil

时间:2017-12-03 23:06:45

标签: ruby-on-rails omniauth

我有一个rails应用程序,我使用omniAuth授权Facebook登录,我的问题是Facebook没有返回电子邮件。

以下是数据:

 ruby '2.1.7'
 Graph API V2.5

我安装了gems'omniauth'and'omniauth-facebook'。我应该安装“omniauth”和“omniauth-facebook”的特定宝石版本吗?

在我的config.omniauth中,我添加了

info_fields: 'email

但遗憾的是我仍面临同样的问题。

我尝试了以下解决方案,但没有一个能为我工作

why facebook email is not retrieved?

我在调用此函数时也添加了电子邮件

 FB.api('/me?fields=name, email', function(response) {
      console.log(response);
        'Thanks for logging in, ' + response.email + '!';
    });

仅供参考:我正在使用真实用户测试该应用程序,该用户已经验证了电子邮件,并且在连接到Facebook时,我输入的是地址电子邮件,而不是电话号码。

任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

尝试检查考拉宝石 您可以指定要返回的版本和字段。