Javascript Firebase实时数据库-客户端不';我没有访问所需数据的权限
我有一个应用程序(2)调用Firebase实时数据库中的某个对象。它在访问规则和匿名身份验证方面运行良好。但是在一些模块更新之后(不知道这是否是问题所在),我在调用db时被拒绝了权限。 这在网络和ios/android上都发生了。 我已经阅读了谷歌和这里的所有页面。但主要问题是实时数据库上的firestore规则,或者通过将.read/.write rules设置为true来解决 这是在创建或登录用户时在OnInit()上调用的身份验证,将调用continueLoad()Javascript Firebase实时数据库-客户端不';我没有访问所需数据的权限,javascript,angular,ionic-framework,firebase-realtime-database,firebase-security,Javascript,Angular,Ionic Framework,Firebase Realtime Database,Firebase Security,我有一个应用程序(2)调用Firebase实时数据库中的某个对象。它在访问规则和匿名身份验证方面运行良好。但是在一些模块更新之后(不知道这是否是问题所在),我在调用db时被拒绝了权限。 这在网络和ios/android上都发生了。 我已经阅读了谷歌和这里的所有页面。但主要问题是实时数据库上的firestore规则,或者通过将.read/.write rules设置为true来解决 这是在创建或登录用户时在OnInit()上调用的身份验证,将调用continueLoad() async login
async loginAndLoad() {
// create anonymous user if not exists and/or log in
await this.fireauth.signInAnonymously().catch((error) => {
console.log('Login error: ' + error.code);
console.log('Login error message: ' + error.message);
});
// trigger state change, when user is logged in
this.fireauth.onAuthStateChanged((user) => {
if (user.isAnonymous) {
var isAnonymous = user.isAnonymous;
var uid = user.uid;
console.log('User added: ' + isAnonymous);
console.log('User uid: ' + uid);
// We have a signed in user, go on.. Else throw error
this.continueLoad();
} else {
this.loginAndLoad();
}
});
}
数据库调用示例,我从这个.continueLoad()调用了这个:
这是实时数据库规则:
{
"rules": {
".write": "!data.exists()",
"products": {
".read": "auth.uid != null",
".write": "auth.uid != null",
".indexOn": ["stats", "status", "user_warn", "image_approved", "image_added", "note", "description","title","date_published","date_edited","date_added"]
},
"searchwords": {
".read": "auth.uid != null",
".write": "auth.uid != null"
},
"users": {
".read": "auth.uid != null",
".write": "auth.uid != null && auth.provider != 'anonymous'"
},
"settings": {
".read": "auth.uid != null",
".write": "auth.uid != null && auth.provider != 'anonymous'"
},
"routes": {
".read": "auth.uid != null",
".write": "auth.uid != null && auth.provider != 'anonymous'"
},
"campaigns": {
".read": "auth.uid != null",
".write": "auth.uid != null && auth.provider != 'anonymous'"
}
}
}
以下是离子信息:
Ionic:
Ionic CLI : 6.16.1 (/usr/local/lib/node_modules/@ionic/cli)
Ionic Framework : @ionic/angular 5.6.7
@angular-devkit/build-angular : 0.1100.7
@angular-devkit/schematics : 11.0.7
@angular/cli : 11.0.7
@ionic/angular-toolkit : 3.1.1
Capacitor:
Capacitor CLI : 2.4.6
@capacitor/android : 2.4.7
@capacitor/core : 2.4.6
@capacitor/ios : 2.4.7
Utility:
cordova-res : 0.15.3
native-run : 1.3.0
System:
NodeJS : v14.17.0 (/usr/local/bin/node)
npm : 6.14.13
OS : macOS Big Sur
这太令人沮丧了。。。希望有人对这个问题有一个合乎逻辑的想法:)我终于找到了问题。正如前面提到的,som插件已经更新。(尝试新插件后)。 所以在数小时的调试之后。我降级到Firebase 8.1.2和@angular/fire 6.1.5,一切又恢复正常
Ionic:
Ionic CLI : 6.16.1 (/usr/local/lib/node_modules/@ionic/cli)
Ionic Framework : @ionic/angular 5.6.7
@angular-devkit/build-angular : 0.1100.7
@angular-devkit/schematics : 11.0.7
@angular/cli : 11.0.7
@ionic/angular-toolkit : 3.1.1
Capacitor:
Capacitor CLI : 2.4.6
@capacitor/android : 2.4.7
@capacitor/core : 2.4.6
@capacitor/ios : 2.4.7
Utility:
cordova-res : 0.15.3
native-run : 1.3.0
System:
NodeJS : v14.17.0 (/usr/local/bin/node)
npm : 6.14.13
OS : macOS Big Sur