Firebase 错误:代码:“auth/user-not-found”

问题描述 投票:0回答:1

我有一个当前存在于 Firebase 中的用户,但是我已将 JS 代码写入

getUser
,但它无法运行。

const admin = require('firebase-admin');

module.exports = function(req, res) {
  const UID = String(req.body.uid);
  const YOB = String(req.body.YOB);
  const gender = String(req.body.gender);
  const salary = String(req.body.salary);
  const hoursWorked = String(req.body.hoursWorked);

  admin.auth().getUser(UID)
    .then(userRecord => {
      admin.database().ref('users/' + UID)
        .update({
            YOB: YOB,
            gender: gender,
            salary: salary,
            hoursWorked: hoursWorked
          },
          () => {
            res.send({
              success: true
            });
          });
    })
    .catch((err) => {
      res.status(422).send({
        error: err
      });
    });
}

我使用 Postman 发送带有 JSON 数据的请求,如下所示:

{
  "UID": "JjeSOpY159Pv0qonNNp200qu7wY2",
  "YOB": "1985",
  "gender": "Female",
  "salary": "20.2",
  "hoursWorked": "8"
}

火力基地:

firebase dashboard

我知道我与 firebase 有稳定的连接,因为我可以使用以下代码创建用户:

    const admin = require('firebase-admin');

    module.exports = function(req, res) {
        admin.auth().createUser({})
            .then(user => res.send(user))
            .catch(err => res.status(422).send({ error: err}));
    }

有谁知道为什么会发生该错误?

javascript firebase firebase-authentication firebase-admin
1个回答
0
投票

我在本地模拟器中运行 Firebase 后端时遇到了这个问题。我使用的命令是

firebase emulators:start --project <project-id>
。此命令在本地运行函数,但也在本地运行身份验证。本地身份验证导致我在 Firebase 控制台上看到的内容与本地可用的内容不匹配。

要解决此问题,我只需使用以下命令在本地运行函数:

firebase emulators:start --project <project-id> --only functions
© www.soinside.com 2019 - 2024. All rights reserved.