我正在使用 Firebase 提供的代码进行 Google 身份验证,不知何故,身份验证成功但电子邮件未正确导入 Firebase。
https://firebase.google.com/docs/auth/ios/google-signin
如您在下面的屏幕截图中所见,电子邮件是空白的。当我查看调试器时,它显示为 nil。
我在身份验证期间单击了允许查看电子邮件,但我认为仍有一些设置未正确完成。有人可以帮我看看吗?我有兴趣使用电子邮件为每个用户创建用户名。
func signIn(signIn: GIDSignIn!, didSignInForUser user: GIDGoogleUser!, withError error: NSError!) {
if let error = error {
print(error.localizedDescription)
return
}
let authentication = user.authentication
let credential = FIRGoogleAuthProvider.credentialWithIDToken(authentication.idToken,
accessToken: authentication.accessToken)
FIRAuth.auth()?.signInWithCredential(credential) { (user, error) in
if error != nil {
print(error?.localizedDescription)
return
}
print("User logged in with Google...")
self.performSegueWithIdentifier("ToHome", sender: nil)
}
}
最佳答案
电子邮件未显示在 firebase 控制台上,因为您允许用户使用同一电子邮件创建多个帐户。如果您导航到身份验证 -> 登录方法,您可以将选项设置为避免使用同一电子邮件创建多个帐户。这样做之后,电子邮件将在创建用户时开始出现。
这里不确定,但是,如果您仍想创建多个帐户并在应用程序端拥有用户电子邮件,我想您需要在创建用户时将电子邮件存储在 firebase 数据库中。
关于ios - 未在 Firebase 中使用 Google 身份验证获取电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37995180/