【发布时间】:2020-03-16 03:00:53
【问题描述】:
我开发了两个不同的 Flutter 应用程序。一个管理员版本和另一个客户端版本。我想为两个应用使用相同的登录 (auth) 和存储访问权限。
【问题讨论】:
标签: firebase flutter firebase-authentication
我开发了两个不同的 Flutter 应用程序。一个管理员版本和另一个客户端版本。我想为两个应用使用相同的登录 (auth) 和存储访问权限。
【问题讨论】:
标签: firebase flutter firebase-authentication
绝对可以从两个不同的应用访问同一个 Firebase 项目。事实上,当这些应用程序在本地属于同一个“应用程序”时,这实际上是一个预期的用例。
但有几点需要牢记:
Firebase 身份验证没有管理员用户的概念。它“仅仅”对用户进行身份验证,允许他们使用他们的凭据登录。任何管理员逻辑都特定于您的应用程序,因此通常称为应用程序管理员。您通常希望标记应用程序管理员,例如在他们的帐户上标记setting a custom claim。
并非应用管理员可能需要的所有功能都将在 Firebase 的客户端 SDK 中提供。一个常见的场景是管理员应该能够为其他用户创建帐户,而客户端 Firebase 身份验证 SDK 不支持此逻辑。有关这方面的更多信息以及如何解决它,请参阅Firebase kicks out current user 和我的答案,这里有很多链接How to create firebase admin user for authentication in java。简而言之:您必须在受信任的环境中使用 Firebase Admin SDK 来执行其中一些操作。
然后,您可以通过 writing security rules 保护对云存储的访问。有关基于用户保护访问的一些示例,请参阅securing user data 上的文档。
【讨论】: