我正在使用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调用特朗普安全规则吗?
1 回答
它在Firebase Documentation上提到:
我看到你提到你正在使用经过身份验证的REST API,所以我假设你确实有auth参数设置 . 这意味着您是对的:安全规则不适用于经过身份验证的REST API .