Firebase-обмен сообщениями без сервера XMPP-сервера - Предложение - программирование

Firebase-обмен сообщениями без сервера XMPP-сервера - Предложение

Я знаю, что этот вопрос задавался слишком много раз. Но у меня есть что предложить и нужно знать, имеет ли смысл.

Я уже использую базу данных Firebase. Все, что мне нужно, это сервер, чтобы сделать POST-вызов для обмена сообщениями Firebase. Но что делать, если приложение делает тот же POST-вызов? Теперь я понимаю, что существует риск безопасности, совместимый с этой моделью. Приложения можно декомпилировать, а ключ сервера можно извлечь. Но поскольку я уже использую базу данных Firebase, что делать, если я сохраняю ключ в своей базе данных и запрашиваю, когда мне это нужно.

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

4b9b3361

Ответ 1

Единственный способ защитить ваш ключ сервера FCM - это не подвергать его воздействию устройств ненадежных клиентов.

Если вы храните ключ сервера FCM в базе данных, вам необходимо сохранить его в месте, которое каким-то образом доступно пользователям вашего приложения, которые вы хотите разрешить отправлять сообщения FCM.

Если ключ сервера FCM доступен для этих пользователей, они могут взять ключ и оскорбить его. Если вы разрешаете доступ к этому значению крошечному подмножеству ваших пользователей, вы уменьшите риск для этой небольшой группы пользователей. И если это ненадежные клиенты, то вы все еще подвергаете ключ не доверенным клиентам.

Итак, вы добавляете слой косвенности, но я бы не стал считать его более безопасным.