Android Firebase安全风险评估查询

Android Firebase安全风险评估查询,android,firebase,firebase-authentication,Android,Firebase,Firebase Authentication,我有一个项目,其中一个应用程序需要访问跨多个firebase项目分片的多个数据库。现在,由于它是同一个应用程序,我不能在我添加应用程序的所有项目中使用相同的SHA1 我没有为任何项目添加任何google-services.json文件,而是从我自己的服务器获取每个项目的数据库url、存储桶信息、api密钥和AppID,该服务器跟踪所有分片firebase项目 我的问题是,有这么多信息,任何人都可以通过firebase的身份验证吗 没有SHA1保护,所以我的db即使使用auth也是安全的=无效规则

我有一个项目,其中一个应用程序需要访问跨多个firebase项目分片的多个数据库。现在,由于它是同一个应用程序,我不能在我添加应用程序的所有项目中使用相同的SHA1

我没有为任何项目添加任何google-services.json文件,而是从我自己的服务器获取每个项目的数据库url、存储桶信息、api密钥和AppID,该服务器跟踪所有分片firebase项目

我的问题是,有这么多信息,任何人都可以通过firebase的身份验证吗

没有SHA1保护,所以我的db即使使用auth也是安全的=无效规则?(因为任何人都可以使用此信息初始化FirebaseApp,并获取FirebaseAuth实例并匿名登录)。总而言之,任何人都可以制作自己的应用程序,使用这些信息并访问/操作我的数据库吗


如果我的应用程序在当前配置下不安全,我如何保护它?是的,这些信息应该足以创建连接到数据库的web应用程序

但是,如果数据库规则和身份验证提供程序适合您的情况,那么这应该不是问题。例如:

  • 如果您不希望匿名用户使用您的应用进行身份验证,请在Firebase控制台中禁用该选项
  • 如果您只想在不启用新注册的情况下向有限的用户集授予访问权限(或者如果您对身份验证有特殊要求),则用户可以使用自定义身份验证提供程序
  • 如果要限制对数据库某些部分的访问(或需要不同的用户角色),请调整数据库规则

我希望这能回答你的问题

是的,这些信息应该足以创建连接到数据库的web应用程序

但是,如果数据库规则和身份验证提供程序适合您的情况,那么这应该不是问题。例如:

  • 如果您不希望匿名用户使用您的应用进行身份验证,请在Firebase控制台中禁用该选项
  • 如果您只想在不启用新注册的情况下向有限的用户集授予访问权限(或者如果您对身份验证有特殊要求),则用户可以使用自定义身份验证提供程序
  • 如果要限制对数据库某些部分的访问(或需要不同的用户角色),请调整数据库规则

我希望这能回答你的问题

经过一些研究和思考,我得出结论,Oauth域默认为localhost,firebase应用程序域将阻止任何人直接验证我的firebase应用程序


即使api密钥和其他信息被公开,只要服务帐户被隐藏,身份验证域将保护我的应用程序,因为身份验证域将导致来自未授权域的身份验证失败。也许我甚至想在生产中删除localhost:)

经过一番研究和思考,我得出结论,Oauth域默认为localhost,firebase应用程序域将阻止任何人直接验证我的firebase应用程序


即使api密钥和其他信息被公开,只要服务帐户被隐藏,身份验证域将保护我的应用程序,因为身份验证域将导致来自未授权域的身份验证失败。也许我甚至想在生产中删除localhost:)

只是一个想法,但是你难道不能进入你的firebase应用程序域,在404页面上注入javascript并以匿名方式登录吗?我不知道javascript注入是如何工作的,所以我不知道。。。无论如何,我从一个类似的问题中找到了这个。无论如何,我没有其他方法来限制人们。我猜使用服务json文件总是有一定的风险,但这是一种非选择性的做法。我只是想一想,但是你难道不能进入你的firebase应用程序域,在404页面上注入javascript并以匿名方式登录吗?我不知道javascript注入是如何工作的,所以不知道。。。无论如何,我从一个类似的问题中找到了这个。无论如何,我没有其他方法来限制人们。我猜使用服务json文件总是有一定的风险,但这是一种非可选的。