веб-сайт проверки электронной почты firebase

1

У меня проблемы с проверкой по электронной почте. Моя ошибка: "user is null", поэтому он не отправляет письмо с подтверждением, но он показывает журнал в uid в консоли, а мой проект console.firebase.google.com показывает подписанное письмо. Что я должен изменить, чтобы отправить электронное письмо, и не предоставляется доступ до тех пор, пока пользователь не проверит их электронную почту? Я читал документы, но не могу понять это. Заранее спасибо.

//add create user event
btnSignUp.addEventListener('click', e => {
    //get email and Password
    const email = txtEmail.value;
    const pass = txtPassword.value;
    const auth = firebase.auth();
    const promise = auth.createUserWithEmailAndPassword(email, pass);
    var user = firebase.auth().currentUser;
    user.sendEmailVerification();
    promise.catch(e => console.log(e.message));
});
//Add a realtime listener
firebase.auth().onAuthStateChanged(function(user) {
    if (user.emailVerified) {
        console.log('Email is verified');
        console.log(user);
    } else {
        window.location = "index.html";
        firebase.auth().signOut();
        alert("Email is not verified");
    }
  • 0
    хорошо, спасибо. Есть ли способ сделать так, чтобы пользователь не появлялся в консоли Google Firebase, пока он не нажал ссылку подтверждения в своем электронном письме?
Теги:
firebase-authentication

1 ответ

0

Вы не ждете обещанного обещания. Обновите следующий фрагмент:

const promise = auth.createUserWithEmailAndPassword(email, pass);
promise.then(user => {
  user.sendEmailVerification();
}).catch(error => console.log);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню