Gibt es in Firebase eine Möglichkeit, die E-Mail-Adresse eines Benutzers zu überprüfen, bevor der Benutzer zur Datenbank hinzugefügt wird? Mein ultimatives Ziel ist es, ein Anmeldeformular zu erstellen, in dem der Benutzer zuerst die E-Mail-Adresse eingibt und dann auf die Schaltfläche "E-Mail-Adresse bestätigen" klickt. An diesem Punkt wird die Bestätigungs-E-Mail gesendet und der Benutzer folgt dem Link von innen, um die E-Mail-Adresse zu bestätigen. Wenn Sie jetzt zur App zurückkehren, hat der Benutzer eine Schaltfläche zum Fortfahren. Wenn die E-Mail nicht verifiziert ist, kann der Benutzer sich nicht registrieren, wenn sich der Benutzer im Gegensatz dazu registrieren kann.Firebase sendEmailVerification vor createUser
Wie gehe ich vor? Bis jetzt sagt die gesamte Dokumentation, dass ich createUser erstellen muss, dann kann ich currentUser.sendEmailVerification verwenden, aber natürlich möchte ich vor der Verifizierung keinen Benutzer erstellen. Ich dachte auch über die Verwendung eines Completion-Block, aber ich bin mir nicht sicher, wie das funktioniert, weil die Registrierung verschoben werden müsste, bis der Benutzer die Schaltfläche "Weiter" drückt.
Dank
Auth.auth().createUser(withEmail: email, password: password, completion: {(user: User?, error) in
if error != nil {
print(error!)
return
}
guard let uid = user?.uid else {
return
}
let ref = Database.database().reference(fromURL: "https://project/")
let values = [
"email": email,
"userName": userName,
"name": name,
"birthDate": birthDate,
"phoneNumber": phoneNumber]
let userReference = ref.child("users").child(uid)
userReference.updateChildValues(values, withCompletionBlock: {(err, ref) in
if err != nil{
print(err!)
return
}
print("Successfully added user to database")
})
let usedUserReference = ref.child("users-Used").child(userName)
usedUserReference.setValue(uid, withCompletionBlock: {(err, ref) in
if err != nil{
print(err!)
return
}
print("Successfully added user to cannot be used-again list")
})
})
Wenn Sie nur Maßnahmen ergreifen möchten, bis ein Benutzer verifiziert wurde, führen Sie diese Aktion aus, wenn sich der Benutzer anmeldet und die Eigenschaft emailVerified des Benutzers wahr ist. Sie können die Anforderung, den Benutzer zu erstellen und die E-Mail-Verifizierungsanfrage zu senden, nicht vermeiden. –