基于flutter Firestore角色的身份验证

问题描述

我正在使用Firestore开发一个Flutter应用程序,我想为用户和管理员使用同一应用程序,是否可以使用基于角色的身份验证(如登录时),如果用户是管理员,则该应用程序再该应用程序返回管理员页面,如果用户是普通用户,则该应用返回的主屏幕与管理员的主页不同?

解决方法

有可能。但是,您不能仅在Firebase Authentication中这样做。您需要实现Cloud Firestore并以某种方式开发数据库,​​以便可以查询不同的用户。例如,针对不同类型用户的不同集合。确保使用正确的安全规则,以使用户无论如何都不会访问您的管理数据。参见Firestore Security Rules Doc

Screenshot Database Example

,

您可以使用自定义声明功能为用户设置角色。可以使用admin SDK来完成。我建议您检查一下Firebase文档中的以下链接。

https://firebase.google.com/docs/auth/admin/custom-claims

设置具有自定义声明的角色后,您可以编写Firestore规则并在客户端检查该角色以显示适当的UI。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...