質問するログイン新規登録

Q&A

0回答

733閲覧

FireStoreセキュリティルールが上手く設定できません

退会済みユーザー

退会済みユーザー

総合スコア0

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Firebase Authentication

Firebase Authenticationは、Firebaseを利用したユーザーの認証機能です。バックエンドサービス、SDK、アプリでのユーザー認証に使用できるUIライブラリが用意されています。

Cloud Firestore

Cloud Firestore は、自動スケーリングと高性能を実現し、アプリケーション開発を簡素化するように構築された NoSQLドキュメントデータベースです。

セキュリティー

このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

Authentication

Authentication(認証)は正当性を認証する為の工程です。ログイン処理等で使われます。

0グッド

0クリップ

投稿2021/02/16 10:55

編集2021/02/18 02:16

0

0

前提・実現したいこと

セキュリティルールを実装するため色々試していたところ、思っていた挙動にならなかったのでデータベースを一度全て消去し、アカウントの作成からやり直すことにしました。が、以下のようなエラーメッセージが表示され、アカウント作成された時に取られる正しい挙動になりません。Authenticationの方には登録されているのですが、Cloud FireStoreの方には保存されているはずのデータが存在しません。原因が分からなかったため是非お力をお貸しください。
該当のソースコードにルールを示しました。

発生している問題・エラーメッセージ

Write at users/V8uSdWjKj9VtcJwr4wa4aewi7773 failed: Missing or insufficient permissions. Optional(Error Domain=FIRFirestoreErrorDomain Code=7 "Missing or insufficient permissions." UserInfo={NSLocalizedDescription=Missing or insufficient permissions.})

該当のソースコード

service cloud.firestore { match /databases/{database}/documents { match /users/{userId}/following{ allow read, write: if true; } match /users/{userId}/interestedTo{ allow read, write: if true; } match /users/{userId}/interestedFrom{ allow read, write: if true; } match /users/{userId}/followers{ allow read, write: if true; } } }

データ構造は以下のようになっています

ユーザー情報 usersコレクション uidドキュメント followingコレクション followersコレクション フォローしているユーザーのuid userIdフィールド userNameフィールド userImageUrlフィールド フォローされている人のuid userIdフィールド userNameフィールド userImageUrlフィールド userImageUrlフィールド userIdフィールド userNameフィールド

  

ブロックリスト blackListedコレクション currentUserのuid ブロックしたuserのuid
チャットルーム情報 chatRoomsコレクション chatRoomのid messagesコレクション

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

m.ts10806

2021/02/16 11:00

どういうルールを設定したいのでしょうか。 要件、設計部分を具体的に記載してください。
退会済みユーザー

退会済みユーザー

2021/02/17 05:46 編集

.
退会済みユーザー

退会済みユーザー

2021/02/17 05:46 編集

.
退会済みユーザー

退会済みユーザー

2021/02/17 05:46 編集

.
K_3578

2021/02/17 05:56

どういう理由で質問内容を消したのかはわかりませんが、意図的に内容を消すのはteratailでは禁止されていますし、誰でも元の内容を編集履歴から見ることが出来ます。 質問そのものを削除したいなら回答の付いていない質問は削除リクエストを出来たはずなのでそちらを どうぞ。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.29%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問