firebaseのfirestoreサービスのionic2プロジェクトでこの問題が発生しました。ionic2 - angularfire2 - firestore:ログアウトの権限が不足しているか不十分です
私は、非同期パイプを使用してテンプレート内のFirestoreからデータを取得するためのosservableを持っています。 このEndPointのルールは、ログに記録されたユーザーのみに読み取りおよび書き込みアクセスを許可します。 私がサインアウトするとき、私はログインページにリダイレクトします。
..and今は問題に来る..
私は数秒後、私は十分な権限を持っているIonicErrorHandler通知を飛び出す、ログインページに上陸
。so; 私はfirestore osservableにどのように伝えることができますか? は
を(サインアウトbefour病気(退会をしてみてください)が、動作しない、とも
それが永続からない)「男ねえ、それを停止し、私は誰かが再度、ログインした場合、後のuを呼びます」
リキャップ:
私はログアウト
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)
(正確には、私はそれを3回recive。正確数またはコレクション内のドキュメントの)
私は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は私がそれ を理解するのに役立つ:)
これを解決できましたか?私もこの同じ問題にぶつかります –
私はすでにこの問題を1週間抱えています。誰も私を助けることを願っています! – Sifeng
ログインページのコレクションを呼び出しましたか? – Hareesh