如何将匿名用户链接到Firebase云功能中的电话号码?

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

我正在尝试在移动设备上使用Android构建类似于Whatsapp和Whatsapp Web的身份验证机制,网络上的Angular以及希望Firebase。

我设法使用移动设备上的电话号码登录,并在网络上匿名登录。然后,在网络上,我为用户ID生成了QR码,并使用移动设备对其进行了扫描。问题是我无法找到将匿名会话从Web链接到移动设备上的会话的方法。

我尝试将凭证/令牌/ uid与扫描的代码一起上传到Firebase数据库,并使用Firebase云功能链接用户,但似乎Firebase云功能无法将两者联系起来。

有没有办法只使用Firebase作为“后端”来实现这一目标?

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

我是如何做到的:

  1. 我使用移动设备扫描了QR码并对其进行解码以获取匿名用户ID - 我们称之为webUID。
  2. 在移动设备上,我调用了Firebase Cloud功能,并将webUID作为参数。
  3. 在Firebase Cloud功能中,我从呼叫者的uid(移动设备的uid)生成了一个自定义令牌,并将其保存在/ users / webUID中。这很重要,因为这是Web上匿名用户可以读取的唯一路径(Firebase数据库规则)。
  4. 在网络上,我从/ users / webUID获取自定义令牌,从数据库中删除它,注销并使用signInWithCustomToken和提供的自定义令牌登录。

最后,两个设备都使用正确的凭据登录,并从数据库中删除令牌。

© www.soinside.com 2019 - 2024. All rights reserved.