我有一个允许用户通过电子邮件和密码登录的应用程序。该应用程序的供稿中包含需要审核的帖子。我有一个admin react网站,可让版主删除或保留帖子。现在,任何用户都可以登录并查看内容,但是我想使登录名仅对管理员用户可用。我使用Firebase的Admin SDK将帐户设置为“管理员”。
我当时正在考虑使用Cloud Function来验证电子邮件是否为管理员,并相应地返回true或false。然后,使用Firebase Auth正常验证用户身份。这足够安全吗?
答案 0 :(得分:1)
如果您已set a custom claim将用户标记为应用程序管理员,则可以check in your client-side code for the presence of that claim。然后,您可以使用该结果显示正确的UI。
在服务器上/在数据库安全规则中,您还希望在允许用户访问/修改主持人数据之前检查此管理员声明的存在。
请注意,这些都不阻止用户进行身份验证。 Firebase中的身份验证无非就是输入您的凭据来证明您是您自己。根据您的身份授予资源访问权,即授权,取决于应用程序,因此将其包括在客户端代码,服务器端代码或安全规则中。