カスタムトークンを使用してfirebaseを認証しています。私は現在のユーザーだけに画像の書き込みと削除を許可し、全員に読み取りアクセスを許可するように制限したい。コードの下Firebaseストレージセキュリティルールエラー - ユーザに許可がありません
ストレージ
let filePath = REF_STORAGE.child("/"+(FIRAuth.auth()?.currentUser?.uid)!+"/profilepic.jpeg")
let metaData = FIRStorageMetadata()
metaData.contentType = "image/jpeg"
に関連する私のSWIFTコードの一部であり、
service firebase.storage {
match /b/test-123456789.appspot.com/o {
match /{uid}/{allPaths=**} {
allow read: if request.auth != null;
allow write: if request.auth.uid == uid;
}
}
}
私は画像をアップロードしようとすると、私は次のエラーを取得する以下のように私の現在のfirebaseストレージルールがあります
gs://test-123456789.appspot.com/MYAUTHUID/profilepic.jpeにアクセスする権限がありません。 g。
しかし、私は、ストレージ・ルール以下に保存ルールを変更した場合、私は、画像をアップロードすることができるよとprofilepicが/gs://test-123456789.appspot.com/123456789/profilepic.jpeg
の下に格納されていますservice firebase.storage {
match /b/test-123456789.appspot.com/o {
match /{allPaths=**} {
allow read: if request.auth != null;
allow write: if request.auth != null;
}
}
}
この問題を解決する方法を教えてください。
あなたの例を簡略化していないことは確かですか?あなたの提供されたルールはhttps://firebase.google.com/docs/storage/security/user-security#full_exampleと基本的に同じであり、そのために必要です。 – Dreamcooled
@Dreamcooled。あなたは私の質問に答えて忘れてしまった – vanquish
@Dreamcooled – Dreamcooled