Я пытаюсь создать собственный токен с привилегированными утверждениями в соответствии с информацией, хранящейся для пользователя в базе данных
admin.auth().getUserByEmail(req.body.email)
.then(function(userRecord) {
var uid = userRecord.uid;
firebaseClient.auth().signInWithEmailAndPassword(req.body.email,req.body.password).then(value => {
return theToken(uid,res);
}).catch(err => {
console.log(' .......... '+ err);
return passwordWrong(uid,res);
});
return ;
}).catch(function(error) {
return passwordWrong(uid,res);
}).catch(function(error) {
return emaiWrong(res);
})
})
theToken = function(uid,res){
console.log(".................................password correct");
var path = "user/"+uid;
admin.database().ref(path).once('value', (snapshot) => {
var printthis = snapshot.val();
console.log("..............",printthis);
});
return admin.auth().createCustomToken(uid)
.then(function(customToken) {
return res.status(200).json({
message: customToken.toString()
});
})
.catch(function(error) {
console.log("Error creating custom token:", error);
});
}
passwordWrong= function(uid,res){
console.log(".................................................."+"passwordWrong");
return res.status(200).json({
message: 'password invalid'
});
}
emaiWrong = function(res){
return res.status(200).json({
message: 'email invalid'
})
}
Проблема в том, что я не могу получить доступ к базе данных: код ниже: .............. null
var path = "user/"+uid;
admin.database().ref(path).once('value', (snapshot) => {
var printthis = snapshot.val();
console.log("..............",printthis);
});
Как получить доступ к базе данных перед созданием токена? Моя база данных выглядит так:
Спасибо.