首页 > 解决方案 > Firebase 子帐号

问题描述

我目前正在构建一个 POS/商店管理应用程序,当用户进入我的应用程序时,商店的所有者将被要求仅登录一次以进行设置(例如新机器),然后应用程序将显示一个列表已被该所有者添加的员工姓名,然后每次员工要开始新的交易时,他/她只需点击他/她的姓名,然后输入他/她的4位密码即可“登录”并处理交易。

我该如何实现这一目标?我正在考虑使用 firebase auth 来“登录”员工,但是当我使用员工凭证登录时,我将无法访问所有者的 uid,这是访问所有者的商店数据所必需的,例如他的/她的产品。

我也在考虑使用firestore来存储4位密码,但我也担心安全性

标签: firebasegoogle-cloud-firestorefirebase-authentication

解决方案


有多种方法可以解决此问题,一种是通过简单地将虚假域附加到用户名来创建有效的电子邮件域,从而利用电子邮件登录。此用户帐户可能是指定的“用户”,或者使用自定义声明中的凭据或隐藏在允许客户端或服务器(取决于您的偏好)然后以用户身份登录的数据库中的凭据。

此外,如果您希望管理员登录一次,您可以添加身份验证状态持久性以指定是否应无限期保留已登录的用户,直到显式退出、页面重新加载等。

另一种方法要求用户还具有不是电子邮件密码的有效身份验证,并且您根据文档使用 Firebase 身份验证链接将您的 pin 身份验证链接到该主帐户:https ://firebase.google.com/docs/auth/web /帐户链接

但是,这确实要求用户从 Google、Twitter、Apple 等身份验证提供商处注册,然后用户必须通过登录来激活此链接以进行身份​​验证。这在理论上可以在用户不知情的情况下自动生成和处理。

它还有很长的路要走,因为这本质上是一个自定义解决方案,但它确实创建了您正在寻找的流程,而无需使用自定义身份验证提供程序。


推荐阅读