Прежде всего: UID не являются секретом, поэтому вы можете свободно делиться ими с другими пользователями приложения. На самом деле, это часто необходимо для создания значимого приложения. См. Firebase. Является ли auth.uid общим секретом?
Вы всегда должны проверять, записаны ли любые значения и считаны ли они со значением request.auth.uid
, которое автоматически заполняется Firebase. , Это значение взято из идентификатора токена, который отправляется с каждым запросом и не может быть подделан пользователем.
Записи в локальный кэш не сразу проверяются на соответствие правилам безопасности вашей базы данных, поскольку они применяются только после запись доходит до сервера. Но это, как правило, не имеет значения, поскольку это просто означает, что локальный пользователь может подделать данные, которые они записывают в свой собственный кеш. Если они напишут что-то с другим UID, оно будет отклонено, как только ваши правила безопасности на стороне сервера увидят операцию.