как получить доступ к базе данных firebase перед созданием пользовательского токена для привилегированных заявок - PullRequest
0 голосов
/ 10 ноября 2018

Я пытаюсь создать собственный токен с привилегированными утверждениями в соответствии с информацией, хранящейся для пользователя в базе данных

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);
  });

Как получить доступ к базе данных перед созданием токена? Моя база данных выглядит так: enter image description here

Спасибо.

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