我有一个项目,其中一个应用程序需要访问跨多个firebase项目分片的多个数据库。现在因为它是相同的应用程序,我不能在我添加应用程序的所有项目中使用相同的SHA1。
我没有为任何项目添加任何google-services.json文件,而是从我自己的服务器获取每个项目的数据库URL,存储桶信息,api-key和appids所有分片的火力棒项目。
我的问题是,有了这么多信息,任何人都可以对firebase进行身份验证吗?
没有SHA1保护,即使使用auth!= null规则,我的数据库甚至是安全的吗? (因为任何人都可以使用此信息初始化FirebaseApp并获取FirebaseAuth实例并匿名登录)。总结一下,任何人都可以创建自己的应用程序,使用信息并访问/操作我的数据库吗?
如果使用当前配置不安全我如何保护我的应用
答案 0 :(得分:2)
是的,这应该足以创建连接到数据库的Web应用程序。
但是,如果数据库规则和身份验证提供程序适合您的情况,那么这应该不是问题。例如:
我希望能回答你的问题!
答案 1 :(得分:1)
经过一番研究和一点脑力激荡后,我得出结论,Oauth域默认为localhost和firebase-app域将阻止任何人直接向我的Firebase应用程序进行身份验证。
即使显示api-key和其他信息,只要隐藏了服务帐户,auth-domain将保护我的应用程序,因为auth-domain将导致来自非授权域的身份验证失败。也许我甚至想要删除生产中的localhost:)