見出し画像

【FlutterFlow】これ見てラクチン!?Firestoreセキュリティルール

前回記事の続きです。

前回は、Firestoreセキュリティルールの途中までご紹介しました。コードを書かずに設定できるのは有難い話でしたね~。「どんなアプリのユーザーに権限を与えるのか」の設定の説明で終わってしまいましたが、今回は、その続きをさっさとやります。

ということで、レッツ・ゴー!

どんなユーザーに権限を与えるのか?

では、下図にあるFirestoreセキュリティルールの解説を続けます。「どんなユーザーに権限を与えるか」、その区分についてみてみましょう!

FlutterFlowには、次の通り、4つのアクセスレベルがあります。

  • 全員: 認証されていないユーザーも含めて、すべてのユーザーにドキュメントの作成/読み取り/更新/削除を許可します。更新や削除は慎重にした方がよさそうですね。

  • 認証されたユーザー:認証されたユーザーだけに、ドキュメントの作成/読み取り/書き込み/削除を許可します。アプリにログインしているすべてのユーザーが対象です。この場合もやはり、更新や削除は、慎重にした方がいいですね。

  • タグ付けされたユーザー:ドキュメントにタグ付けされているユーザーに対して、そのドキュメントの読み取り/更新/削除を許可するというものです。例えば、あるコレクションに、ドキュメントを作成したユーザーを表す「作成者」フィールドがあるとします。そこで、「作成者」 フィールドにこの ルールを設定することで、ログインしているユーザーがそのドキュメントを作成した人である場合のみ、そのドキュメントへのアクセス(読み取り/更新/削除)することを許可することができます。

  • どのユーザーも不可:誰もドキュメントの作成/読み込み/書き出し/削除をできないようにします。

なるほど~。では、実際にどんな設定にするのが、無難なのでしょうか?

まずはデフォルトのままで反映

では、実際にセキュリティルールを設定してみます。

とはいえ、すでにデフォルト値がありますね。これは、

作成と読み込みは、誰でもできる。更新と削除は、誰もできない。

ですね。うん、なんか無難な気がする。いま、チュートリアルで作っているアプリがどんな使い方をするのか分からない(汗)ので、とりえあえず、デフォルトのままでいいかな!

ということで、ノータッチ!そのままデプロイしちゃいましょう。

ぎゃ!エラーが出た―。また~。エラーを直そうとしていたら、さらにエラーが出てくる~。も~、も~、ウシになっちゃうぞ~、も~!

すみません、取り乱しました…。よく見るとエラーメッセージが割と丁寧じゃないですか。なになに、「Firebaseで、デフォルトのGCPリソースロケーションを設定せよ」と。じゃあ、四の五の言わずにやってみるか…。

Firestoreのロケーションの設定をセット

というこで、エラーメッセージ指定のURL先に移動して、デフォルトのGCPリソースロケーションを設定します。ところで、なにそれ?うん、私も分からない~w。ということで、公式ドキュメントに説明を譲ります。

メニューを開くと次のとおりです。デフォルト値があり、そして、選択不可。もう、「完了」を押すしかない…。

はい、セットされました。

asia-northeast1って、東京のようですね。これってどこかで設定しましたよね。まあ、いいか。

Firebaseドキュメントより

気を取り直してもう一度デプロイ

はい、GCPの設定が終わって、再びFlutterFlowにもどります。そして、もう一度、デプロイボタンをぽちっとすると、、、、

やりました~。先に進めました~!なになに、反映前にコードをご確認くださいと、、。分かるわけないがな~、ということで、さっさと「Deploy now」をぽち!

やった~。Firestoreセキュリティルールの設定ができました~。

これで、コレクションのエラーは消えたかな~。その確認は、次回にしましょう!

とにかく、セキュリティルールの設定ができた、(みたい、多分)。よかった~。

Glide学ぶなら、Udemy

Glideで急いでアプリを作りたいけど、どうすれば?お気持ち察します。でも、心配いりません!UdemyならGlide初心者向けの動画コースが受講できます。このブログ300記事をベースにして生まれました。期間限定のキャンペーンもあります。気になる方は、チェックしましょう!


この記事が気に入ったらサポートをしてみませんか?