質問編集履歴
4
追記を記述
test
CHANGED
File without changes
|
test
CHANGED
@@ -81,3 +81,31 @@
|
|
81
81
|
|
82
82
|
|
83
83
|
ご教授のほど、よろしくお願いします。
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
---
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
追記:
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
Function isAdmin()を以下のように編集しても、同様にシミュレータでは動作し、実働しません。
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
```
|
100
|
+
|
101
|
+
function isAdmin(){
|
102
|
+
|
103
|
+
return exists(path('/databases/$(database)/documents/admin_users/hogehogeUserID' ))//' + request.auth.uid))
|
104
|
+
|
105
|
+
//この場合、シミュレータ上ではFirebase uIDが未入力でも書き込み権限を得られる
|
106
|
+
|
107
|
+
}
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
```
|
3
誤字の修正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Firestoreのルール設定でシュ
|
1
|
+
Firestoreのルール設定でシミュレータでは動作するのに実働しない
|
test
CHANGED
File without changes
|
2
シュミレート→シミュレータに変更
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Firestoreのルール設定でシュミレー
|
1
|
+
Firestoreのルール設定でシュミレータでは動作するのに実働しない
|
test
CHANGED
@@ -64,7 +64,7 @@
|
|
64
64
|
|
65
65
|
|
66
66
|
|
67
|
-
現在、`/admin_users/`には`hogehogeUserID`のみが存在しています。シュ
|
67
|
+
現在、`/admin_users/`には`hogehogeUserID`のみが存在しています。シミュレータで認証済み項目の[Firebase uID]欄に`hogehogeUserID`と入力し、実行すると問題なくwrite権限が得られます。
|
68
68
|
|
69
69
|
|
70
70
|
|
1
記述の曖昧な点を修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
1. `/posts/{id}`に表示するデータを格納している
|
6
6
|
|
7
|
-
2. `/admin_users/{uID}`には
|
7
|
+
2. `/admin_users/{uID}`には特定のユーザーのuIDが登録されている
|
8
8
|
|
9
9
|
|
10
10
|
|
@@ -14,7 +14,9 @@
|
|
14
14
|
|
15
15
|
1. `/posts/{id}`にあるドキュメントはログインさえしていればreadできる
|
16
16
|
|
17
|
-
2. `/posts/{id}`は`/admin_users/{uid}`が存在していればwriteできる
|
17
|
+
2. `/posts/{id}`は`/admin_users/{uid}`に自身のuIDと同じドキュメントが存在していればwriteできる
|
18
|
+
|
19
|
+
(例:`/admin_users/`に`hogehogeUserID`というドキュメントのみが存在する場合、`hogehogeUserID`というuIDを持つユーザーは`/posts/{id}`を編集できる。`exampleUserID`のuIDを持つユーザーは編集できない。)
|
18
20
|
|
19
21
|
|
20
22
|
|
@@ -62,7 +64,7 @@
|
|
62
64
|
|
63
65
|
|
64
66
|
|
65
|
-
現在、`/admin_users/`には`hogehogeUserID`のみが存在しています。シュミレートで`hogehogeUserID`と入力すると問題なくwrite権限が得られます。
|
67
|
+
現在、`/admin_users/`には`hogehogeUserID`のみが存在しています。シュミレートで認証済み項目の[Firebase uID]欄に`hogehogeUserID`と入力し、実行すると問題なくwrite権限が得られます。
|
66
68
|
|
67
69
|
|
68
70
|
|
@@ -70,11 +72,11 @@
|
|
70
72
|
|
71
73
|
`FirebaseError: Missing or insufficient permissions.`
|
72
74
|
|
73
|
-
(実環境でもuIDは`hogehogeUserID`であ
|
75
|
+
(実環境でもuIDは`hogehogeUserID`であると考えてください)
|
74
76
|
|
75
77
|
|
76
78
|
|
77
|
-
`isAdmin()`を外すと問題なく動作するので、`isAdmin()`が悪さをしているのはわかったのですが、これのどこが問題かはわかりません。
|
79
|
+
`isAdmin()`を外すと問題なく動作するので、`function isAdmin()`が悪さをしているのはわかったのですが、これのどこが問題かはわかりません。
|
78
80
|
|
79
81
|
|
80
82
|
|