用户的电子邮件是零 - Firebase,FacebookSDK

时间:2016-08-10 16:45:43

标签: ios swift firebase firebase-authentication

出于某种原因,当用户登录我的应用时,为该用户返回的电子邮件值为零。我通过在我的登录按钮上设置readPermissions来请求访问电子邮件的权限,如下所示:

loginButton.readPermissions = ["email"]

但是,当用户成功登录时,他们的电子邮件仍为零。这是我用来检索电子邮件的代码:

FIRAuth.auth()?.signInWithCredential(credential) { (user, error) in
    var email = user!.email! as String //Shouldn't be nil, but is
}

2 个答案:

答案 0 :(得分:3)

您可能正在使用“每个电子邮件地址多个帐户”。在控制台中检查项目配置:Auth - >方法 - >高级 Facebook帐户可能没有电子邮件地址(电话号码帐户)

答案 1 :(得分:1)

我遇到了同样的问题,问题是我忘记在我的Facebook应用上设置OAuth重定向URI。

在Firebase上:

  1. 转到身份验证>登录方法
  2. 选择Facebook
  3. 复制重定向URI(格式应类似于https://.firebaseapp.com/__/auth/handler
  4. 导航至Facebook Developer网站:

    1. 选择您为该项目创建的Facebook应用
    2. 在右端,转到产品> Facebook登录>设置
    3. 将重定向URI粘贴到字段中:有效的OAuth重定向URI
    4. 保存
    5. 这解决了我的问题

      希望有一天能帮助别人:)