Почему я не могу вызвать эту функцию в Cloud Firestore, если я не аутентифицирован? - PullRequest
0 голосов
/ 14 июля 2020

У меня есть облачная функция, которая отправляет электронное письмо при регистрации пользователя, однако, поскольку пользователь не аутентифицируется перед вызовом этой функции, она выдает Internal. Я ДЕЙСТВИТЕЛЬНО установил для функции значение «Разрешить неаутентифицированный», но это не устранило проблему.

Я разрешаю неавторизованным пользователям вызывать эту функцию, потому что мне нужно, чтобы новые пользователи сначала подтвердили свою электронную почту с помощью PIN-код, а затем после того, как они введут этот PIN-код, я снова вызываю функцию, которая регистрирует пользователя.

Действительно ли возможно сначала зарегистрировать пользователя, автоматически аутентифицировать, а затем подтвердить его электронную почту с помощью PIN-кода? Таким образом я бы предотвратил доступ к этой функции неаутентифицированных пользователей.

Вот моя функция:

_sendHttpEmailCode = async () => {
    const defaultApp = firebase.app();
    const functionsForRegion = defaultApp.functions('europe-west3');
    const createUser = await functionsForRegion.httpsCallable('sendEmailVerification');
    const { register_email, register_password } = this.state;

    var user = {
        email: register_email,
        password: register_password
    };

    createUser(user)
        .then((resp) => {        
            console.log("Success: ", resp);
        }).catch((error) => {
            var code = error.code;
            var message = error.message;
            console.log(message);
        });
}

Мы будем очень признательны за любые предложения!

...