你可以做到以下幾點:
firebase.auth().fetchProvidersForEmail(email)
.then(function(providers) {
if (providers.length > 0) {
// The user has already been registered. Careful though: the
// following assumes that your users only sign up with email
// and password. If they can sign up with other providers
// (Google, Facebook...), you may not be able to do the next
// call.
return firebase.auth().signInWithEmailAndPassword(
email, password);
} else {
// No account exists with this email address.
return firebase.auth().createUserWithEmailAndPassword(
email, password);
}).then(function(user) {
// User is signed in!
});
這將首先檢查鏈接到該電子郵件地址的提供者。如果列表不是空的,並且用戶只能使用電子郵件和密碼進行註冊(所以沒有Google登錄,Facebook登錄等),那麼可以保證用戶已經使用電子郵件和密碼進行了註冊。在這種情況下,您可以登錄該用戶。如果列表爲空,則不存在用戶,並且可以創建新用戶。
這是否回答你的問題?
調用'createUserWithEmailAndPassword'將在用戶創建時登錄,如果具有該電子郵件地址的用戶已經存在,則失敗。 –