javascript - 可以在 Firebase 中进行自定义身份验证吗
问题描述
我正在尝试使用 6 位代码登录用户。该代码可使用 20 秒,并且对每个用户都是唯一的。
简要说明:
- 用户已登录移动应用程序
- 用户按下“获取唯一代码”按钮
- 然后,用户在他的 PC 上的网页上输入代码
- 如果代码正确,则显示该用户的数据
我要问的是,如果我有用户 ID 和有关用户的所有信息,是否有办法正确验证正确引入该代码的用户?
我可以尝试“假登录”(当代码正确时显示该用户的所有信息)但是这有一些问题,我想避免它。
我正在使用 Firebase 身份验证和 Firebase Firestore。JavaScript 用于 Web。
解决方案
您可以通过为 Firebase 身份验证创建自定义提供程序来实现所需的任何身份验证方案。
请参阅使用自定义身份验证系统在 JavaScript 中使用 Firebase 进行身份验证和使用 Admin SDK 创建自定义令牌。
在此流程中,您:
- 自己登录用户。
- 在受信任的环境(例如您控制的服务器或 Cloud Functions)中为这些用户创建自定义令牌。
- 将该自定义令牌传递给 Firebase 身份验证,然后它可以使用它来识别用户,并保护对 Firestore、存储和实时数据库的访问。
推荐阅读
- python - 如何将图像存储到我的持久存储中?我在哪里对其进行编码和解码?如何在 HTML 中使用 Jinja 显示它?
- redis - redis.exceptions.DataError:类型无效的输入:'NoneType'。先转换为字节、字符串或数字
- swift - 如何从嵌入式视图中获取视图的背景颜色
- html - 如何按行和按列创建具有颜色的 html 表格?
- objective-c - NSTextView 选择特定行
- java - 未使用 Lucene 7 索引的双精度值
- c - 使用C中的文件描述符计算文件的行数
- java - 检查数组列表中是否有任何字符串
- react-native - 使用轮播实现的图像滑块不起作用
- javascript - API json 数据到 javascript 变量