Firestoreでユーザーが他人の投稿を編集できないようにする

公開日:2018-11-08
最終更新:2018-11-14

やりたいこと

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

書いたルール

これであってますかね? 投稿時に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」も付け足しました。

記事が少しでもいいなと思ったらクラップを送ってみよう!
18
+1
@1phXZYyP8NTs1yKwの技術ブログ

よく一緒に読まれている記事

1件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
11/08 21:19

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

目次をみる

技術ブログをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

技術ブログを開設する

Qrunchでアウトプットをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

Markdownで書ける

ログ機能でアウトプットを加速

デザインのカスタマイズが可能

技術ブログ開設

ここから先はアカウント(ブログ)開設が必要です

英数字4文字以上
.qrunch.io
英数字6文字以上
ログインする