FirebaseのCloud Storageのルール設定で悩んでおります。
実現したいのは、下記のような状態です。
メールアドレスから読み込み・書き込み可能か判定したいです。
アクセスしたいパス: /datas/abc/test.txt ユーザーA: - メールアドレス:abc@gmail.com - 上記パスに読み込みのみ可能 ユーザーB: - メールアドレス:abc2@gmail.com - 上記パスに読み込み・書き込み可能
セキュリティルールとして、上記を満たす書き方をしたいのですが、可能なのでしょうか?
イメージとしては下記のような感じですが、substrはないため、この部分をどう記述するべきなのか分かっておりません。
service firebase.storage { function isUserEmail(email) { // @から前、かつ"2"を取り除いてinspectionIdかどうか判定したい return substr(email, -1) != $inspectionId; } match /b/{bucket}/o { match /datas { match /{inspectionId} { match /{allPaths=**} { allow read: if request.auth.uid != null; // readはこれで問題ないと思ってます allow write: if isUserEmail(request.auth.token.email); // writeをどう記述すべきか、、 } } } } }
もし、セキュリティルール設定ではなくてこれを使うのが一般的、これを使えば簡単、等ありましたらぜひ教えてください。
回答1件
あなたの回答
tips
プレビュー