如何通过手机号查询Firebase认证?

在我们的React 16.13.0应用中,我们使用的是Firebase。 我们将用户与一个电话号码链接起来,就像这样。

return firebase
  .auth()
  .currentUser.linkWithPhoneNumber(phoneNumber, recaptchaVerfier)
  .then(function (confirmationResult: any) {
    var code = window.prompt("Provide your SMS code");
    recaptchaVerfier.clear();
    return confirmationResult.confirm(code).then(() => {
      callback();
    });
  })

我很好奇,假设该电话号码被用作用户的标识符,那么我们将如何回溯并查询Firebase认证表中拥有特定电话号码的用户,就像在下面的门户认证视图中看到的那样。

enter image description here

. 查询的目的不是为了登录,而是为了查询各种用户。

解决方案:

你不能用客户端SDK来查询认证数据库,但是你可以使用 管理SDK.

这意味着您需要在自己的服务器或云功能中实现这种查询。

例如,您可以编写一个 可调用的云功能 将返回特定用户的用户详情。

该代码看起来像。

exports.getUserByPhone = functions.https.onCall(async (data, context) => {

    try {

        const phoneNbr = data.phoneNbr;
        const userRecord = await admin.auth().getUserByPhoneNumber(phoneNbr);

        return userRecord;

    } catch (error) {
        // See https://firebase.google.com/docs/functions/callable#handle_errors

        // Also see here the error codes: https://firebase.google.com/docs/auth/admin/errors
        // In particular, the auth/user-not-found code is returned if there is no existing user record corresponding to the provided identifier. 
    }

});

然后,你将从你的前端调用这个云函数,就像我们解释的那样 此处 的值,在文档中传递所需的 phoneNbr.

给TA打赏
共{{data.count}}人
人已打赏
解决方案

使用Back4app-Cli部署本地解析服务器。

2022-4-21 0:00:13

解决方案

如何在Windows中安装PyLucene 6.0.2?

2022-4-21 0:00:15

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索