如何在同一个firebase应用程序中处理两种类型用户的单独登录?

时间:2016-04-06 13:37:50

标签: firebase firebase-security firebase-realtime-database firebase-authentication

我有一个场景并寻找解决方案。我正在开发一个应用程序并使用Firebase来创建和验证用户。在我的应用程序中,基本上有两种类型的用户(1.User& 2. Vender)和用户可以在应用程序上登录但是供应商需要在网络面板上登录。我们使用firebase默认方法(.createUser)来创建用户,它已经在工作了。 现在我想在同一个应用程序中创建Vender配置文件,但Vender只能在Web应用程序上登录,用户可以在移动应用程序上登录。

有可能吗?如果是,那么请指导我怎么可能?

提前致谢。

1 个答案:

答案 0 :(得分:9)

这是一个相当开放的问题,但我认为它归结为两件事:确定用户类型(供应商或用户)​​并检测他们正在注册的平台。

两者都很容易。

这是利用/ users节点存储有关用户的其他信息的结构。来自Storing User Data

users
  uid_0
   name: "William:
   type: "vendor"
  uid_1
   name: "Leonard"
   type: "user"

然后当用户尝试登录时,应用程序会检查他们的用户身份验证,这将导致填充authData.uid。

然后它将通过authData.uid查找用户并检查用户类型。如果它是供应商,则向用户显示他们必须通过门户网站登录的消息,并且不要继续进入应用程序。

还有100种其他方法可以解决这个问题 - 为应用程序设置供应商节点和用户节点,以便在输入其身份验证凭据之前让他们选择供应商或用户。