我有一个开源项目,在测试环境和生产环境中使用两个独立的Firebase项目。
最终,我希望其他开发人员能够删除项目并实际运行它,而无需我为每个开发人员提供访问权限。
在这个问题上,我看到了许多解决方案:如何将合作者添加到Firebase应用程序中?这些似乎都需要每个人的电子邮件。
我理解为什么这可能不是一件事,但我想知道是否有一种方法可以让每个人都只访问测试项目,从而实现超低摩擦。类似于Firestore数据库规则,允许以公共方式开始读/写测试。
我曾尝试在Google云控制台中创建一个新的IAM帐户,我认为这在Firebase Cloud Functions访问Admin SDK方面有部分效果,但我的合作者在尝试运行时挂了电话firebase的使用<测试firebase项目>
说他们没有访问权限。
我看到了IAM的许多其他配置选项,但在这个公共访问场景中,没有任何突出的地方。
有人能确认这是不是一件事吗?
谢谢!
编辑
为了给我的项目添加更多细节。。。
我正在使用身份验证、Firestore和云函数。我将使用的唯一js包是Auth包,它将从CDN加载(所以我认为这不适用于我的问题)。
我想让人们能够在本地运行云功能。我在vanilla Node中进行了一个预构建步骤,它调用一个云函数(本地运行),该函数使用Firebase Admin SDK调用我的Firestore数据库。然后,我将该响应写入前端使用的JSON文件。
当我的合作者退出项目并安装Firebase CLI时,当他们尝试在本地服务Cloud Functions时,他们会遇到“无法访问”类型的错误。我试图通过在/functions目录中添加服务帐户来解决这个问题,但显然这没有帮助。
我的合作者根本不需要访问控制台。我基本上只需要他们能够在本地运行Cloud Function(并确保他们无法访问我的生产Firebase项目)。
我很高兴添加更多细节,但我有点觉得我只是漫无边际。再次感谢。