Firebase functions.auth.user (). OnCreate нет запуска - PullRequest
0 голосов
/ 11 апреля 2020

Я пытаюсь создать пользователя с пользовательской заявкой. Я использую облачные функции Firebase. Проблема в том, что когда я создаю (регистрируюсь) пользователя, onCreate не запускается. Я следую этому руководству, предоставленному Google. https://firebase.google.com/docs/auth/admin/custom-claims Я развернул свои функции и регион us-central1

Версия облачных функций:

 firebase-admin": "^8.9.0
 firebase-functions": "^3.3.0

Я использую Vue JS as Front-end

Мои функции / Индекс. js

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();


exports.ProccessSignUp = functions.auth.user().onCreate(async (user) =>{
   console.log("Email"+user.email);

   if (user.email){

        const customClaims = {
            admin:true
        };

        return admin.auth().setCustomUserClaims(user.uid,customClaims)
            .then(() =>{
                const metadataRef = admin.database().ref('metadata/' +user.uid);
                return metadataRef.set({refeshTime:new Date().getTime()})
            }).catch(err =>{
                console.log(err.message)
            })
    }



});

Мой SignUpWithEmailAndPassword

userSignUp({dispatch},payload){
            firebase.auth().createUserWithEmailAndPassword(payload.email, payload.password)
                .then(user =>{
                        user.user.sendEmailVerification()
                            .then(() =>
                                alert('Your account has been created! Please, verify your account'),
                                dispatch('userSignOut'),
                            ).catch(err =>{
                                console.log(err.message)
                        })
                }).catch(err =>{
                     console.log(err.message)
            })
        },

oAuthStateChanged

router.beforeEach(async (to, from, next) => {
    const user = await new Promise((resolve) => {
        firebase.auth().onAuthStateChanged(async user => {
            await store.dispatch("autoSignIn", user);
            resolve(user)
        });
    });

    const requiresAuth = to.matched.some(record => record.meta.requiresAuth)



    if (requiresAuth) {
        if (!user){
            next(false)
        }else {
            if (user.emailVerified){

                next();
            }else {

                alert('Please verify your account')
                await store.dispatch("userSignOut", user);
            }
        }

    } else {

        next()

    }
});


1 Ответ

1 голос
/ 11 апреля 2020

Как объяснено в do c, с помощью облачных функций вы можете "выдавать строку журнала из вашей функции, используя стандартные JavaScript протоколирование вызовов, таких как console.log и console.error".

Затем журналы облачных функций можно просматривать либо в консоли Firebase, в пользовательском интерфейсе ведения журнала Stackdriver, либо с помощью инструмента командной строки firebase.

Таким образом, вы сможете подтвердить, что ваша облачная функция работает правильно (или нет), глядя, например, на консоль Firebase.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...