← Timeline
Avatar
Shmuel Leib Melamud
Moera FCM relay 0.1.0

Гугловский Firebase Cloud Messaging (FCM) не умеет работать с децентрализованными сетями. По его логике, должен быть только один аккаунт на FCM, который зашит в приложение, а сервер должен подписывать сообщения приватным ключом этого аккаунта. Естественно, это отсекает возможность установки разными людьми нескольких серверов, взаимодействующих с одним приложением, ведь тогда придётся опубликовать закрытый ключ, и в приложение посыпется спам.

Поэтому мне пришлось сделать релей (fcm.moera.org), который переправляет сообщения от разных нод в FCM. Когда пользователь первый раз заходит в приложение, будучи залогиненным, приложение переправляет FCM-идентификатор клиента на свою домашнюю ноду, а та отправляет его на FCM-релей. Знание этого идентификатора подтверждает, что нода имеет право отправлять клиенту уведомления.

Код в FCM-релее, который формирует текст уведомления, общий с клиентом, поэтому я написал релей тоже на TypeScript. Это не так ужасно, как кажется на первый взгляд 😉

👍5
To react or comment  View in Web Client