0

「このオブジェクトにアクセスする権限がありません」というメッセージが表示されます。Firebaseユーザ固有の許可ワイルドカード

service firebase.storage { 
    match /b/bucketname.appspot.com/o { 
    match /users/{userId}/* { 
     allow read; 
     allow write: if request.auth.uid == userId; 
    } 
    } 
} 

とAndroidからここで私は enter image description here

を送信していたファイルのサンプルです:私はそうは次のようにFirebaseで自分のユーザー名のルートにあるすべてのファイルに各ユーザーの権限を付与しようとしているとき

ただし、com.google.firebase.storage.StorageExceptionが発生しています。このオブジェクトにアクセスする権限がありません。

どのように権限を別々に設定できますか?ここで

は、しかし代わりに、特定のファイルへのユーザーアクセスを与える、私は自分のユーザーID

+0

あなたは認証なしですべてのユーザーに許可を与えようとしていますか? – OBX

+0

いいえ、認証では、変数userIdをAuthユーザーIDの値と一致させています。 –

+0

私は認証されたユーザーのためにすべての書き込みを許可します –

答えて

2
後のパスに書き込むために認証されたユーザーのアクセス許可を与えたい https://firebase.google.com/docs/storage/security/user-security

// Only a user can upload their profile picture, but anyone can view it 
match /users/{userId}/profilePicture.png { 
    allow read; 
    allow write: if request.auth.uid == userId; 
} 

から公式の一例です

この方法を試してください:

service firebase.storage { 
    match /b/xxxx.appspot.com/o { 
    match /{allPaths=**} { 
     allow read; 
     allow write: if request.auth != null; 
    } 
    } 
} 
+0

ありがとうございました –

+0

助けてくれると嬉しいです:) – OBX

関連する問題