仅对通过Firebase Auth注册的“管理员”用户进行身份验证

时间:2020-08-23 21:33:56

标签: firebase firebase-authentication google-cloud-functions

我有一个允许用户通过电子邮件和密码登录的应用程序。该应用程序的供稿中包含需要审核的帖子。我有一个admin react网站,可让版主删除或保留帖子。现在,任何用户都可以登录并查看内容,但是我想使登录名仅对管理员用户可用。我使用Firebase的Admin SDK将帐户设置为“管理员”。

我当时正在考虑使用Cloud Function来验证电子邮件是否为管理员,并相应地返回true或false。然后,使用Firebase Auth正常验证用户身份。这足够安全吗?

1 个答案:

答案 0 :(得分:1)

如果您已set a custom claim将用户标记为应用程序管理员,则可以check in your client-side code for the presence of that claim。然后,您可以使用该结果显示正确的UI。

在服务器上/在数据库安全规则中,您还希望在允许用户访问/修改主持人数据之前检查此管理员声明的存在。

请注意,这些都不阻止用户进行身份验证。 Firebase中的身份验证无非就是输入您的凭据来证明您是您自己。根据您的身份授予资源访问权,即授权,取决于应用程序,因此将其包括在客户端代码,服务器端代码或安全规则中。

相关问题