【问题标题】:getUserByPhoneNumber always returns request errorgetUserByPhoneNumber 总是返回请求错误
【发布时间】:2018-04-23 07:42:49
【问题描述】:

我正在尝试使用 Firebase 管理员身份验证通过云功能通过电话号码获取用户。这是云函数(减去一些请求正文验证)。

module.exports = (req, res) => {
  const phone = req.body.phone;

  admin.auth().getUserByPhoneNumber(phone).then(userRecord => {
    res.send({ user: userRecord });
  })
  .catch(getUserErr => {
    res.status(422).send({ error: getUserErr });
  });
};

电话符合 E.164 标准。我在响应中收到以下错误:

Error: could not handle the request

一些重要的信息。我从云函数中调用它。另外,我目前正在使用电话号码(通过不同的云功能)创建匿名用户,而不是使用电话登录提供商。

admin.auth().createUser({
  phoneNumber: phone
})

我尝试打开手机身份验证提供程序(除了匿名登录提供程序),但这似乎无关紧要。

有人知道这是什么原因吗?文档对任何其他必要的设置都保持沉默。

【问题讨论】:

  • 你能分享你的功能的完整实现吗?或者至少是调用上述方法的部分?
  • 已编辑问题以包含完整功能。我认为如果该函数找不到记录,它会执行与 getUser 和 getUserByEmail 相同的操作并返回如下错误:{ "error": { "code": "auth/user-not-found", "message ": "没有与提供的标识符对应的用户记录。" } }
  • 是的。这实际上不是 admin SDK 引发的错误。其他东西在这里失败了。请参阅 stackoverflow.com/questions/45600367/… 了解调试此问题的一些有用想法。

标签: firebase firebase-admin


【解决方案1】:

更新 firebase-admin 软件包。 getUserByPhoneNumber 在 v5.1.0 版本之前不可用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-21
    • 2015-08-10
    • 1970-01-01
    • 2020-07-01
    • 2017-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多