Схема, которую вы используете, совсем не безопасна, поскольку вы отправляете свой «секрет» клиентским приложениям. Любая часть информации, которую вы включаете в свое приложение, является, по сути, общедоступной информацией, поскольку легко разбить данные мобильного или веб-приложения, чтобы увидеть, как именно они работают.
Безопасный способ - использовать проверку подлинности Firebase, чтобы ограничитьможет читать или записывать определенные данные. Это единственный способ защитить базу данных для каждого пользователя. Невозможно безопасно ограничить доступ к базе данных для каждого приложения.
Имейте также в виду, что то, что у вас есть, теперь также позволяет любому клиенту обновить любой известный документ, не предоставляяпароль. request.resource.data.psw
будет установлен правильно для обновлений, где он был изначально установлен правильно. Это потому, что request.resource.data
содержит все содержимое предыдущего документа, а также любые изменения, которые были добавлены в обновлении.
Если по какой-то причине вы не можете использовать Аутентификацию Firebase, то то, что вы делаете сейчас, - лучшее, что вы можете сделатьда, но на самом деле следует знать, что это не очень безопасно.