为什么Firebase数据库安全规则不适用于Authenticated REST API?

问题描述 投票:1回答:1

我正在使用Firebase数据库,并为测试设置了一个安全规则

".write":false

读取总是如此。

现在,当我在Android应用程序中使用客户端SDK编写任何内容时,数据库中的所有内容都会按预期拒绝写入。

但是,当我使用经过身份验证的REST API修补程序请求在任何地方写入任何内容时,它总是成功的。

令牌生成如下:

       //googleCredAhmedabad and scopedAhmedabad are GoogleCredential objects

       InputStream is = getServletContext().getResourceAsStream("/WEB-INF/firebaseauth/myserviceaccountfile.json");

        googleCredAhmedabad = GoogleCredential.fromStream(is);

        scopedAhmedabad = googleCredAhmedabad.createScoped(
                Arrays.asList(
                        "https://www.googleapis.com/auth/firebase.database",
                        "https://www.googleapis.com/auth/userinfo.email"
                        )
                );

        scopedAhmedabad.refreshToken();

        String myToken = scopedAhmedabad.getAccessToken();

是(使用服务帐户生成具有足够范围的凭据)经过身份验证的REST API调用特朗普安全规则吗?

android firebase firebase-realtime-database firebase-authentication
1个回答
2
投票

它在Firebase Documentation上提到:

auth请求参数允许访问受Firebase实时数据库规则保护的数据,并受所有请求类型支持。参数可以是我们的Firebase应用程序密钥或身份验证令牌,我们将在用户授权部分介绍。

我看到你提到你使用的是经过身份验证的REST API,所以我假设你确实有auth参数设置。这意味着您是对的:安全规则不适用于经过身份验证的REST API。

© www.soinside.com 2019 - 2024. All rights reserved.