firebase - Firebase 身份验证:更新丢失的电话号码
问题描述
当用户丢失了他们的电话号码,并且他们想用新的电话号码更新他们的帐户时,最好的方法是什么?我们已经有了他们的电子邮件。
问题是 Firebase 需要在更新之前向旧电话号码发送短信,而用户已经丢失了旧电话号码。
到目前为止,我最好的想法是使用他们的电子邮件对他们进行身份验证,然后使用他们输入的新电话号码向我们的后端发送请求,然后使用 Firebase Admin SDK 更新用户的电话号码。这里只有一个问题:我将如何验证这个新电话号码,以确保用户不只是添加一些随机号码?
解决方案
我正在用我遵循的路径回答我自己的问题:
首先,我们获取他们的电子邮件并发送一封验证电子邮件,其中包含一个按钮,该按钮重定向到一个包含我们在后端使用的令牌的深层链接,以验证用户确实是他们声称的那个人。
用户单击链接后,我们会在应用程序上显示一个屏幕,要求输入新的电话号码。
输入新电话号码后,我们将其与深层链接上的令牌一起发送到我们的后端。我们验证令牌,然后使用 Twilio 向这个新号码发送验证短信。
同时,用户已经被发送到验证码屏幕。他们收到 Twilio SMS 并输入代码。我们将此代码发送到我们的后端,并确保他们输入的代码是正确的。
如果代码正确,我们会使用 Firebase Admin API 将此用户的电话号码更新为新号码。
推荐阅读
- node.js - 为什么“npm install”会删除我在 Angular cli 中安装的软件包?
- python - Pyspark Schema 中 StructType 的 VectorType
- c# - 如何选择下拉 Web 浏览器 C#
- c++ - 递归地将字符串从 istream 传输到数组 - C++
- sql-server - sql server FOR XML xpath模式:如何生成嵌套的XML id 1和2
- jquery - 找到左偏移大于的第一个元素
- javascript - 如何在 Angular 打字稿中使用 Timetable.js?
- javascript - 事件侦听器未在 Chrome 中运行
- php - 自定义帖子类型和 API REST 不起作用
- python - 使用 SQLAlchemy 计算结果集中包含的值的实例