angular2 firestore在订阅后检测文档没有权限

时间:2018-04-22 20:29:56

标签: angular firebase google-cloud-firestore

所以我有以下代码:

this.observable = this.angularFirestore.collection('users').doc<User>(userID).valueChanges();
this.subscription = this.eventObjectObservable.subscribe((user: User) =>
{
    //do something here
});

我的问题是在订阅文档后是否可以检测到权限丢失。

例如,在有人访问页面并成功加载此文档并订阅更改后,管理员可以从此人员中删除访问该文档的权限。我怎样才能检测到这一点(在控制台中显示)

"ERROR Error: Missing or insufficient permissions."

并相应地处理它?我正在考虑处理它,以便在检测到此事件时,所述用户将被重定向到另一个页面。

1 个答案:

答案 0 :(得分:1)

我不知道Angular提供的API,但是用于监听文档更改的DocumentReference.onSnapshot()核心Firestore API接受onError函数参数。 onError是可选的,但如果服务器因任何原因决定监听器失去对目标文档的访问权限,则应调用它。

如果Angular没有这样的等价物,那听起来像是一个功能请求。