Firebase多数据库权限问题:连接非默认数据库遭权限拒绝
Firebase多数据库权限问题解决
问题描述
我使用Firebase多数据库功能创建了名为mynewdatabase的新数据库,Flutter项目已配置googleservices.json。通过firebasefirestore = FirebaseFirestore.instanceFor(app: authrepo.app);连接默认数据库执行查询无异常,但使用firebasefirestore = FirebaseFirestore.instanceFor(app: authrepo.app,databaseURL:"mynewdatabase");连接第二个数据库时,抛出异常:
[cloud_firestore/permission-denied] The caller does not have permission to execute the specified operation
我未为第二个数据库设置特定规则,原以为会沿用项目级默认规则(规则代码如下),现想明确Flutter端连接第二个数据库所需权限,是否需要单独认证?
默认项目规则:
rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { match /{document=**} { allow read, write: if true; } } }
解决方案
这是规则配置问题,Firebase多数据库需要为每个数据库单独定义规则。需通过Firebase CLI为第二个数据库配置对应规则,具体操作可参考Firebase CLI文档中「Configuration for multiple Cloud Firestore databases」章节。
内容的提问来源于stack exchange,提问作者user424493
相关产品推荐
相关产品推荐

