Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 用户的电子邮件为零-Firebase,FacebookSDK_Ios_Swift_Firebase_Firebase Authentication - Fatal编程技术网

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

Ios 用户的电子邮件为零-Firebase,FacebookSDK,ios,swift,firebase,firebase-authentication,Ios,Swift,Firebase,Firebase Authentication,出于某种原因,当用户登录到我的应用程序时,为该用户返回的电子邮件值为零。我通过在我的登录按钮上设置readPermissions来请求访问电子邮件的权限,如下所示: loginButton.readPermissions = ["email"] 但是,当用户成功登录时,他们的电子邮件仍然为零。这是我用来检索电子邮件的代码: FIRAuth.auth()?.signInWithCredential(credential) { (user, error) in var email = us

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

loginButton.readPermissions = ["email"]
但是,当用户成功登录时,他们的电子邮件仍然为零。这是我用来检索电子邮件的代码:

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

您可能正在使用每个电子邮件地址的多个帐户。在控制台中检查项目配置:身份验证->登录方法->高级
facebook帐户可能没有电子邮件地址电话号码帐户

每个电子邮件地址可能使用多个帐户。在控制台中检查项目配置:身份验证->登录方法->高级
facebook帐户可能没有电子邮件地址电话号码帐户

我也面临同样的问题,问题是我忘记在我的facebook应用程序上设置OAuth重定向URI

在Firebase上:

转到身份验证>登录方法 选择Facebook 复制重定向URI的格式应该如下https://.firebaseapp.com/__/auth/handler 导航至Facebook开发者网站:

选择您为该项目创建的Facebook应用程序 在右端,进入产品>Facebook登录>设置 将重定向URI粘贴到字段:Valid OAuth redirect URI 拯救 这解决了我的问题


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

我也面临同样的问题,问题是我忘了在我的Facebook应用程序上设置OAuth重定向URI

在Firebase上:

转到身份验证>登录方法 选择Facebook 复制重定向URI的格式应该如下https://.firebaseapp.com/__/auth/handler 导航至Facebook开发者网站:

选择您为该项目创建的Facebook应用程序 在右端,进入产品>Facebook登录>设置 将重定向URI粘贴到字段:Valid OAuth redirect URI 拯救 这解决了我的问题


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

谢谢你的回复,我刚检查过,实际上它使用的是“每封电子邮件有多个帐户”。我现在无法使用我的应用程序来测试这一点,因为我不在电脑旁,但这可能是问题所在吗?i、 e.禁用此选项可能允许我返回电子邮件地址?对于这种情况,“每封电子邮件有多个帐户”,电子邮件将在提供商数据数组中返回,但不会在顶级电子邮件中返回。这是预期的行为。您还可以使用相同的电子邮件为不同的提供商拥有多个firebase用户帐户。如果您切换到每封电子邮件使用一个帐户,那么您不能在每封电子邮件中使用多个帐户,需要链接具有相同电子邮件的google和facebook帐户。在你做出转换的决定之前,要知道这一点。非常感谢,这就解决了问题。我只是将我的应用程序设置为不使用“每封电子邮件多个帐户”。感谢您的回复,我刚刚检查了一下,实际上它使用的是“每封电子邮件多个帐户”。我现在无法使用我的应用程序来测试这一点,因为我不在电脑旁,但这可能是问题所在吗?i、 e.禁用此选项可能允许我返回电子邮件地址?对于这种情况,“每封电子邮件有多个帐户”,电子邮件将在提供商数据数组中返回,但不会在顶级电子邮件中返回。这是预期的行为。您还可以使用相同的电子邮件为不同的提供商拥有多个firebase用户帐户。如果您切换到每封电子邮件使用一个帐户,那么您不能在每封电子邮件中使用多个帐户,需要链接具有相同电子邮件的google和facebook帐户。在你做出转换的决定之前,要知道这一点。非常感谢,这就解决了问题。我只是将我的应用程序设置为不使用“每封电子邮件多个帐户”。