@1phXZYyP8NTs1yKwの技術ブログ

やりたいこと

  • ログインしていればユーザーは自由にデータを投稿できる。
  • 投稿したデータはそのデータを投稿したユーザーにしか編集できないようにする。
  • 投稿したデータの取得は自由。

書いたルール

これであってますかね? 投稿時にdocumentにuidを保存しています。

service cloud.firestore {
    match /databases/{database}/documents {
        match /post/{post_id} {
            allow read: if true;
            allow create: if request.auth.uid != null && request.auth.uid == request.resource.data.uid;
            allow update: if resource.data.uid == request.auth.uid;
        }
    }
}

追記

allow createの部分で、「 request.auth.uid != null 」のみだと、自分が作ったdataのuidを別のユーザーのものに変えて保存できそうだったので、「request.auth.uid == request.resource.data.uid」も付け足しました。

この記事へのコメント

11/08 21:19

ログにしたつもりが記事になってた…