В чем разница между пользовательскими утверждениями для аутентификации Firebase и документом Firestore без доступа для записи? - PullRequest
0 голосов
/ 25 января 2019

Я ищу разницу между аутентификацией Firebase с пользовательскими утверждениями и личным документом Firestore для каждого пользователя без разрешений на запись.

Случай использования, с которым я сталкиваюсь, - это решение SaaS с 3 планами с полосами.Каждая полоса планов имеет разные свойства.Пользователь должен быть ограничен планом, на который он подписан.

Единственное отличие, которое я вижу, состоит в том, что пользовательские утверждения требуют только при вызове Firebase, в то время как документ в Firestore потребует 2 (auth + get private private data).

Есть ли еще какие-то отличия, по которым я скучаю?

1 Ответ

0 голосов
/ 25 января 2019

Похоже, вы пытаетесь сравнить две модели безопасности:

  1. Хранить информацию о плане платежей в пользовательской заявке в токене пользователя.
  2. Храните план платежей в незаписываемом документе в Firestore.

Некоторые изменения, которые приходят на ум:

  1. Как вы говорите, второй вариант потребует дополнительной операции чтения всякий раз, когда необходимо проверить правила безопасности.
  2. Хранение информации в токене увеличивает каждый запрос пользователя, поскольку заявка находится в его токене. Так что он использует большую пропускную способность.

Но, наверное, самый важный для принятия решения:

  1. Пользовательская претензия может быть не сразу доступна клиенту, поскольку она зависит от обновляемого токена, что может занять до часа. С другой стороны, информация в базе данных обновляется, как только вы ее пишете.

Чтобы получить больше полезных советов по этому вопросу, взгляните на видео Пять советов по защите вашего приложения .

...