在將用戶添加到數據庫之前,Firebase中有一種方法可以驗證用戶的電子郵件嗎? 我的最終目標是創建一個註冊表單,用戶首先輸入電子郵件地址,然後按下「驗證電子郵件地址」按鈕。此時將發送驗證電子郵件,用戶將從內部鏈接進行確認電子郵件地址。現在,當回到應用程序時,用戶將具有繼續按鈕,並且如果電子郵件未被驗證,則用戶將不能註冊,如果相反,用戶將能夠註冊。創建用戶之前的Firebase sendEmailVerification
我該如何解決這個問題? 到目前爲止,所有文檔都說我必須創建用戶,然後才能使用currentUser.sendEmailVerification,但顯然,我不想在驗證之前創建用戶。 我也想過使用完成塊,但我不確定如何解決這個問題,因爲註冊將不得不推遲到用戶按下繼續按鈕。
感謝
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")
})
})
如果您只想在用戶驗證之前採取措施,那麼在用戶登錄並且該用戶的emailVerified屬性爲true時執行該操作。您無法避免創建用戶和發送電子郵件驗證請求的要求。 –