Ошибка нулевого значения при запуске правила безопасности firestore - PullRequest
1 голос
/ 08 апреля 2020

Я узнаю о правилах безопасности в пожарном депо и не могу понять, почему мое правило безопасности не работает.

Это моя структура данных: enter image description here

Это правило, которое я пытаюсь выполнить:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {

    match /company/{company} {
      allow create, read, write, delete: if request.auth.uid != null && 
        get(/databases/$(database)/documents/developer/$(request.auth.uid)).data.is_admin == true             
    }
  }
}

Это мое JSON полезная нагрузка с симулятора:

{
  "uid": " sxTCUVtxcSSTIWicv7op10Cc3ff2",
  "token": {
    "sub": " sxTCUVtxcSSTIWicv7op10Cc3ff2",
    "aud": "test-123",
    "email": "",
    "email_verified": false,
    "phone_number": "",
    "name": "",
    "firebase": {
      "sign_in_provider": "google.com"
    }
  }
}

Вы можете увидеть, что UID соответствует ID документа разработчика. Это ошибка, которую я получаю.

Ошибка запуска симуляции - Ошибка: строка simulator.rules [6], столбец [73]. Ошибка нулевого значения.

Пожалуйста, сообщите мне, что я делаю неправильно.

1 Ответ

1 голос
/ 08 апреля 2020

Ваша JSON полезная нагрузка из симулятора показывает начальный пробел в "uid":

"uid": " sxTCUVtxcSSTIWicv7op10Cc3ff2",  
        ^Remove this space

Он должен работать после удаления пробела из входа вашего симулятора.

...