I am using the code provided by Firebase for Google Authentication and somehow, the authentication was successful but the email was not correctly imported to Firebase.
https://firebase.google.com/docs/auth/ios/google-signin
As you can see in the screenshot below, the email is blank. When I looked at the debugger, it is showing nil.
I clicked allow viewing email during authentication but I think there are still some settings that was not done correctly. Could someone help me to take a look? I am interested to use the email to create the username for each user.
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)
}
}
For a user to sign up on our application with their email address and password, we must pass the user's credentials to the createUserWithEmailAndPassword function imported from the firebase/auth subpackage.
The email is not showing on firebase console because you are allowing users to create multiple accounts with the same email. If you navigate to Auth -> Sign-in method you can set the option to Avoid creating multiple accounts with the same e-mail. After doing so the emails will start to appear when creating the user.
Not sure here but, if you still want to create multiple accounts and have the user email on the application side I guess that you will need to store the email on firebase database when creating the user.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With