我被困在這個問題上與來自firebase的「firestore」服務在ionic2項目上工作。ionic2 - angularfire2 - firestore:登出缺少或不足的權限
我有一個osservable可以使用異步管道從模板中的firestore獲取一些數據。 對此EndPoint的規則僅對已登錄的用戶授予讀取和寫入權限。 當我註銷時,我把重定向到登錄頁面。
..和現在就這個問題..
當我在登錄頁面登陸,幾秒鐘後,跳出IonicErrorHandler通知我有沒有足夠的權限。
so; 我如何告訴firestore osservable; 「嘿夥計,阻止它,我打電話ü後,如果有人登錄再次」
(生病嘗試befour的signOut退訂(),但不工作,也
它持久不)
重新蓋上:
當我註銷
this.afAuth.auth.signOut();
錯誤:
core.es5.js:1020 ERROR Error: Missing or insufficient permissions.
at new FirestoreError (error.js:164)
at JsonProtoSerializer.fromRpcStatus (serializer.js:126)
at JsonProtoSerializer.fromWatchChange (serializer.js:517)
at PersistentListenStream.onMessage (persistent_stream.js:334)
at persistent_stream.js:270
at persistent_stream.js:247
at async_queue.js:81
at t.invoke (polyfills.js:3)
at Object.onInvoke (core.es5.js:3890)
at t.invoke (polyfills.js:3)
(準確地,我recive它的3倍。究竟集合中的文檔)
服務所在我稱之爲端點的FireStore數或:
export interface Attivita {
id: string;
committente: string;
durata: number;
nome: string;
progetto: string;
userId: string;
}
@Injectable()
export class FirebaseService {
attivitaCollectionRef: AngularFirestoreCollection<Attivita>;
attivita$: Observable<Attivita[]>;
constructor(private afs: AngularFirestore,
public afAuth: AngularFireAuth) {
}
setOsservableAttivita(uId){
this.attivitaCollectionRef = this.afs.collection('attivita', ref => {
return ref.where("userId", "==", uId)
});
this.attivita$ = this.attivitaCollectionRef.snapshotChanges().map(actions => {
return actions.map(action => {
console.log(action)
const data = action.payload.doc.data() as Attivita;
const id = action.payload.doc.id;
return { id, ...data };
});
});
}
}
TKS提前向所有幫助我理解它 :)
你是否設法解決這個問題?我也遇到過這個問題 –
我被困在這個問題上一個星期了。希望任何人都可以幫助我! – Sifeng
是否在您的登錄頁面中調用了任何集合? – Hareesh