Можно ли отправить push-сообщение из одного браузера в другой?

#web-push

Вопрос:

Отказ от ответственности: Я знаю, что это не входит в намерения веб-push! Обычно существует серверный сервер, который имеет пустые ключи и отправляет http-запрос в FCM. В моем случае использования безопасность не имеет значения. Я просто хочу знать, можно ли отправить запрос непосредственно в FCM с другой вкладки браузера.

  • Есть ли что-нибудь в браузерах, что ограничит это?
  • Есть ли что-то в спецификации, что ограничивает это?
  • Будет ли FCM отклонять запросы, поступающие из браузера?

В качестве быстрого теста я попытался внедрить https://github.com/web-push-libs/web-push но библиотека предназначена для nodejs.

Для контекста я пытаюсь найти способ отправить ответ WebRTC на одноранговое предложение, не размещая серверную часть. Цель состояла бы в том, чтобы выдавать новый пустой закрытый и открытый ключ от однорангового узла предложения для каждого нового подключения RTCPeerConnection. Затем я мог бы поделиться ключами, зашифровав их в URL-адресе, который мог бы использовать отвечающий одноранговый узел.

Комментарии:

1. «Есть ли что-нибудь в браузерах, что ограничит это?» Да, охрана.

2. Как вы сказали, пустые ключи должны храниться в тайне на сервере… так что ответ-нет по соображениям безопасности. Если вы передадите закрытые ключи браузеру, злоумышленник может прочитать эти ключи и начать рассылать спам всем вашим пользователям с уведомлениями…

3. Безопасность не является соображением @collimarco в моем случае использования. Я спрашиваю, возможно ли это, а не является ли это рекомендуемой лучшей практикой.

Ответ №1:

Нет, это невозможно, так как https://fcm.googleapis.com/fcm/... не возвращает необходимые заголовки CORS. Я не тестировал другие push-сервисы, но они также вряд ли вернут заголовки CORS.