我正在尝试创建一个React应用,其中具有“ admin”角色的用户可以在firebase中创建一个新用户。
工作流程如下:
normal login -> check userRole -> if admin: show createUserForm.
据我所阅读的文档,我需要一个Admin SDK,但问题是-如何在客户端应用上实现它?有没有人经历过这个过程?
答案 0 :(得分:0)
Firebase Admin SDK仅应在受信任的环境中使用,即您控制的服务器或Cloud Functions。不应(也不能)在客户端React应用中使用它。
如果您想允许React应用程序的某些用户为其他用户创建帐户,则需要将流的这一部分移至您可以使用Admin SDK的受信任环境中。
因此流程变为:
您可以看到这很复杂。我强烈建议考虑其他用例,例如您希望管理员控制的实际用例。在Firebase身份验证中启用提供商后,任何用户都可以使用该提供商创建帐户。尝试从应用程序代码中进行控制只是解决问题的方法。通常,您实际上要控制的是特定用户帐户可以执行的操作:例如只有获得批准的用户才能访问某些数据。根据存储这些数据的位置,这很容易控制。例如:如果您将数据存储在Firebase数据库中,则在这种情况下create a whitelist of approved users是常见的(或反之:a blacklist of banned users)。