作者:夏天 | 来源:互联网 | 2023-09-15 13:38
希望你一切都好我正在尝试从同一个应用程序制作一个应用程序,您可以是用户,也可以是卖家。在我们的例子中,卖家是一家餐馆,用户是餐馆的常客。我的问题是,如果我登录“我是餐厅登录名
希望你一切都好
我正在尝试从同一个应用程序制作一个应用程序,您可以是用户,也可以是卖家。在我们的例子中,卖家是一家餐馆,用户是餐馆的常客。我的问题是,如果我登录“我是餐厅登录名”,而不是用户登录名。在重新启动应用程序时自动登录并将用户带到用户主页,而不是卖家主页,因为我正在使用
auth.currentUser != null ?
然后根据身份验证状态添加主屏幕或登录屏幕,但它是通用身份验证状态。我如何让它根据登录用户的类型显示不同的主屏幕。所以我知道为什么它会把我带到用户主页 - 我设置它这样做,我如何让它带我到一个或另一个
谢谢你
回答
Firebase 身份验证没有内置用户类型的概念,因此您必须自己构建它。
您可以将用户类型作为自定义声明存储在用户的配置文件中,或存储在云托管数据库中。在任何一种情况下,您都应该在安全的环境中执行此操作,以便用户无法更改他们的类型(除非您的用例特别希望他们能够这样做)。
因此,您的应用程序将在启动时采取以下步骤:
- 登录用户,或恢复他们的身份验证状态。
- 决定他们的类型。
- 将它们重定向到正确的屏幕。
另见:
- 在Flutter 应用程序中使用 firebase 进行身份验证时,如何创建两种类型的用户(例如客户端、自由职业者)的链接?
- 如何使用 Flutter 在 Firebase AUTH 中创建 2 个不同的用户组
- 通过搜索[firebase-authentication] 两种类型的用户获得更多结果