如何对两个不同的Flutter应用程序使用相同的Firebase Auth?

时间:2020-03-16 03:00:53

标签: firebase flutter firebase-authentication

我开发了两种不同的Flutter应用程序。管理员版本和另一个客户端版本。我想使用相同的登录名(auth)并访问两个应用程序的存储。

1 个答案:

答案 0 :(得分:0)

绝对有可能从两个不同的应用程序访问相同的Firebase项目。实际上,当这些应用在本地是同一“应用”的一部分时,这实际上是预期的用例。

请记住以下几点:

  1. Firebase身份验证没有管理员用户的概念。它“仅”对用户进行身份验证,允许他们使用其凭据登录。任何管理员逻辑都特定于您的应用程序,因此通常称为应用程序管理员。通常,您通常希望标记应用程序管理员,例如通过setting a custom claim标记他们的帐户。

  2. 并非所有应用程序管理员可能需要的功能都将在Firebase的客户端SDK中提供。常见的情况是,管理员应该能够为其他用户创建帐户,而客户端Firebase身份验证SDK不支持此逻辑。有关此问题以及如何解决的更多信息,请参见Firebase kicks out current user和我的答案,其中包含许多链接,How to create firebase admin user for authentication in java。简而言之:您必须在受信任的环境中使用Firebase Admin SDK来执行其中一些操作。

  3. 然后,您可以通过writing security rules保护对Cloud Storage的访问。有关基于用户保护访问权限的一些示例,请参见securing user data上的文档。