ReactJS和Firebase用户管理

时间:2018-07-19 12:56:10

标签: reactjs firebase firebase-authentication firebase-admin

我正在尝试创建一个React应用,其中具有“ admin”角色的用户可以在firebase中创建一个新用户。

工作流程如下:

normal login -> check userRole -> if admin: show createUserForm.

据我所阅读的文档,我需要一个Admin SDK,但问题是-如何在客户端应用上实现它?有没有人经历过这个过程?

1 个答案:

答案 0 :(得分:0)

Firebase Admin SDK仅应在受信任的环境中使用,即您控制的服务器或Cloud Functions。不应(也不能)在客户端React应用中使用它。

如果您想允许React应用程序的某些用户为其他用户创建帐户,则需要将流的这一部分移至您可以使用Admin SDK的受信任环境中。

因此流程变为:

您可以看到这很复杂。我强烈建议考虑其他用例,例如您希望管理员控制的实际用例。在Firebase身份验证中启用提供商后,任何用户都可以使用该提供商创建帐户。尝试从应用程序代码中进行控制只是解决问题的方法。通常,您实际上要控制的是特定用户帐户可以执行的操作:例如只有获得批准的用户才能访问某些数据。根据存储这些数据的位置,这很容易控制。例如:如果您将数据存储在Firebase数据库中,则在这种情况下create a whitelist of approved users是常见的(或反之:a blacklist of banned users)。