如何使用我自己的身份验证服务限制 Firebase 存储访问

Bad*_*adr 0 android firebase firebase-storage

我在我的应用程序中使用了 firebase 存储,并且我正在使用我自己的用户名和密码身份验证服务,我已将规则更改为公开以便我可以上传和下载数据,但现在它给了我这个警告

您的安全规则设置为公开。任何人都可以读取或写入您的存储分区

如何在不使用任何 Firebase 登录或身份验证方法的情况下保护应用数据?

小智 5

由于您使用自己的服务对用户进行身份验证,我可以想到两个选项,都涉及管理 SDK。

选项 1:创建自定义令牌

假设您通过在您自己的服务器上运行的服务对用户进行身份验证,您可以使用 Firebase Admin SDK 稍微编辑该系统以包含自定义令牌。基本上,如果用户提供的详细信息与您的服务预期的详细信息相匹配,您可以返回一个自定义令牌,firebase 可以使用该令牌对用户进行身份验证。然后您可以像往常一样设置 Firebase 安全规则。这是我建议做的。

创建自定义令牌

选项 2:完全限制访问并通过您的服务器请求/上传数据

您可以将安全规则设置false为限制对所有人的访问。Admin SDK 应该忽略这些规则,因为它是一个管理实例。然后,您可以让您的用户将文件(或下载请求)上传到您的服务器。然后,您的服务器将使用 Admin SDK 从 Firebase 请求文件并将它们发送回用户。

Firebase 管理 SDK