Безопасность Firestore для игры, в которой у пользователей нет учетной записи - PullRequest
0 голосов
/ 11 июля 2020

Меня смущает указание в документации, чтобы пользователи входили в систему для аутентификации. Я хочу, чтобы с приложением карточной игры пользователи могли легко работать (без необходимости входить в систему), находили игру, в которую можно поиграть, и играли в нее. По мере того, как карты разыгрываются, каждый ход записывается в Firestore, и все пользователи уведомляются о необходимости чтения измененных параметров. Таким образом, все пользователи могут читать, писать и обновлять. Даже если бы я заставил пользователей входить в систему, любой мог бы создать учетную запись, и я бы не продвинулся дальше, за исключением того, что я отказал некоторым участникам игры. Я знаю, что могу установить правила, чтобы все данные были небольшого размера. Я, возможно, проверю, не сохраняются ли данные по прошествии определенного времени без использования, и могу удалить коллекцию для этой игры. Это такие процедуры, которые я использую для защиты базы данных от слишком большого роста, или «плохой» пользователь выясняет, где находятся данные, и перезаписывает данные для некоторых игр.

1 Ответ

0 голосов
/ 11 июля 2020

Если вам нужен простой способ входа пользователей в систему, используйте анонимную аутентификацию . Он предоставит пользователю учетную запись с UID без каких-либо запросов. Затем вы можете использовать правила безопасности для защиты информации о пользователях, поскольку анонимные учетные записи имеют UID, как и обычные учетные записи. Затем вы можете разрешить пользователю обновить эту учетную запись , когда он захочет иметь более постоянную идентичность в вашей игре (поскольку анонимные учетные записи становятся недоступными, если пользователь очищает локальное хранилище своего устройства).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...