Установить на FireBase, а затем установить FireBase претензий - PullRequest
0 голосов
/ 05 октября 2019

Так что я работаю с firebase auth и базой данных, чтобы установить нового пользователя в базу данных, и если он установлен успешно, я хочу установить требования для этого пользователя. Таким образом, это означает, что у меня есть обещание в пределах обещания:

function setUser(user){
// no need for the database code before this, but userRef is set properly 
return userRef.set(user)
  .then(succ => {
    return firebase.firebase.auth().setCustomUserClaims(user.key, {admin: true})
    .then(() => {
      console.log("setting claims")
      return true;
    });
  })
  .catch(err => {
    return err
  })
}

вызывающая функция:

app.post("/register_user",jsonParser,async (req, res) => {
 var user = req.body.user;
 let result =  await fireBase.setUser(user);
 res.send(result);

})

Что происходит, когда я получаю набор набаза данных, но претензии не установлены, и я не могу увидеть журнал. Я знаю, что это JS вопрос, а не Firebase один. Я пробовал много разных способов (с ожиданием), но не работал.

1 Ответ

0 голосов
/ 05 октября 2019

firebase.firebase не кажется правильным. Вам необходимо использовать объект admin, который можно инициализировать с помощью const admin = require('firebase-admin');. Это не часть SDK firebase db, а admin. Вы также можете использовать userRef.uid, поскольку это дает вам идентификатор документа пользователя, если это то, что вы хотите, в противном случае используйте ваш user.key

return admin.auth().setCustomUserClaims(userRef.uid, {
                            admin: true
                        }).then(() => {
                            //on success
                        });
...