6

ないか不十分な私は(Androidの上で)取得しています:クラウドFirestore:権限

com.google.firebase.firestore.FirebaseFirestoreException: PERMISSION_DENIED:欠落または不十分な権限これらのセキュリティを使用して

をルール:

service cloud.firestore { 
    match /databases/{database}/documents { 
    match /{document=**} { 
     allow read, write: if request.auth != null; 
    } 
    } 
} 

私のアプリはFirebaseAuthを使用して正しく認証されているようですが、 mFirebaseAuth.getCurrentUser().getUid()は正しいユーザーIDを返します。

私が間違っていることはありますか?

+1

私にも起こっている。昨日まではすべてが機能しましたが、今日以降はパーミッションエラーが返されます。私は私のセキュリティルールをチェックして、何も間違っていません。奇妙な振る舞いは時々動作し、まったく同じコードで時々動作しません。問題を解決しましたか? – wonsuc

+0

これはウェブ上で起こり、反応ネイティブ(firebase-ios-sdk)でも起こります。問題は、ファイアウォールではなく、クライアントsdkでなければなりません。 – sowdri

答えて

0

クライアント側ではなく、Firestoreの問題(今日のベータ版)のようです。

1

私はFirebaseサポートチームに直接問い合わせしました。これは、この問題が当社のサービスにとって重要なものであったため、私は以下のメールを受け取りました。彼らは今バグを修正したようだ。

問題が再発するかどうかお知らせください。

こんにちは、

私達はちょうどFirestoreのための私達のセキュリティの規則とこの散発的な問題 は既知のバグだったが、すでに 固定今日あったことを私たちの技術者と確認しています。正常にセキュリティルールをテストして、 がまだ発生している場合はお知らせください。

よろしく、ケヴィン

2

編集:はちょうど私が4.6.2にダウングレードすることにより、問題を修正するために管理することを言いたいです。 これは私がアップグレードして以来、私に起こっているネイティブ反応し、私は私の人生のために問題を把握することはできません:私はthis post

プリエディットで詳細を持っています。私はそれをデバッグしてきましたし、私のユーザーは間違いなく要求時に認証され、私は以下を実行して、これをチェックし、私は

firebase.auth().currentUser 

そこにUIDを持っているので、私がやってみたかった次のことは確認しました実際に何が起きているのかを知るためのセッションで私は私のアプリ

XMLHttpRequest = GLOBAL.originalXMLHttpRequest ? 
GLOBAL.originalXMLHttpRequest : 
GLOBAL.XMLHttpRequest 

と私はそれが魔法のように再び動作するこのコードを実行すると反応のエントリポイントにコードの一部を追加しました。これは、おそらく真のテストではありませんが、ブラウザを介してリクエストを委任しています。

それから、私はCharlesを立ち上げ、私の新しい反応ネイティブビルドのリクエストを、古いネイティブビルドと比較しました。リクエストは私には同じように見えますが(別のsessionIdは別として)、私は分かりません。欲求不満なことは、Firestoreコンソールによるデバッグツールの欠如です。

私の勇気は、いくつかの認証ヘッダーが期限切れになっている/キャッシュされていて、ファイアストアではないと言うことです。この時点で私の頭をテーブルにぶつける

関連する問題