我有一个项目,其中一个应用程序需要访问跨多个firebase项目的多个数据库。现在,由于它是同一个应用程序,我不能在添加该应用程序的所有项目中使用相同的SHA1。
我没有为任何项目添加任何google-services.json文件,而是从我自己的服务器上获取每个项目的数据库url、存储桶信息、api-key和appids,该服务器跟踪所有分片的firebase项目。
我的问题是,有了这么多信息,任何人都可以通过firebase的身份验证吗?
没有SHA1保护,所以即使使用auth!=null规则,我的数据库也是安全的吗?(因为任何人都可以使用此信息初始化FirebaseApp,并获得一个FirebaseAuth实例并匿名登录)。总而言之,任何人都可以制作自己的应用程序,使用信息并访问/操作我的数据库吗?
如果当前配置不安全,我如何保护我的应用程序
发布于 2017-12-24 22:23:53
是的,这应该是创建连接到数据库的web应用程序的足够信息。
但是,如果数据库规则和身份验证提供程序适合您的情况,这应该不是问题。例如:
我希望这回答了你的问题!
发布于 2017-12-24 22:32:54
经过一些研究和头脑风暴,我得出结论,Oauth域(默认情况下是localhost )和firebase-app域将阻止任何人直接验证我的Firebase应用程序。
即使api-key和其他信息被暴露,只要service-account被隐藏,auth-domain就会保护我的应用程序,因为auth-domain会导致来自非授权域的身份验证失败。也许我甚至想删除生产环境中的localhost :)
https://stackoverflow.com/questions/47961031
复制相似问题