Как имитировать userId с помощью эмулятора Firestore? - PullRequest
0 голосов
/ 17 июня 2020

Я пишу несколько тестов для своего Android приложения, которое использует Firestore, и я хотел бы указать userId, чтобы использовать мои правила Firestore.

Правила Firestore проверяют соответствие запрашивающего пользователя идентификатор родительской коллекции:

  match /{document=**} {
  match /users/{userId} {
      allow read, update, delete: if request.auth.uid == userId;
      allow create: if request.auth.uid == userId;

firebase unit-test docs говорят:

Хотя многие SDK работают с эмуляторами, только @ Модуль firebase / testing Node.js поддерживает фиктивную аутентификацию в правилах безопасности, что значительно упрощает модульные тесты. Кроме того, модуль поддерживает несколько специфичных для эмулятора c функций, таких как очистка всех данных, как указано ниже.

Использование Android, когда я пытаюсь протестировать только с настройкой OotB Firestore I получить PERMISSION_DENIED. Я не могу найти способ установить auth.uid с помощью Firebase Android SDK.

Я искал вверх и вниз, я даже перешел на вторую страницу результатов Google, но могу ' Я не могу найти информацию о том, как это сделать с другими SDK, например Android?

Любая помощь будет принята с благодарностью.

ОБНОВЛЕНИЕ

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

...