Внедрявах (бавно) нещо подобно за уеб приложение, използващо Autobahn и WAMP, това е свързан протокол и рутер. В момента имам около пет различни услуги (някои написани на PHP, други на NodeJS) плюс клиентите, които общуват в реално време.
Хубавото на WAMP е, че капсулира както отдалечени извиквания на процедури (RPC), така и модели за публикуване/абониране (PubSub) за комуникация.
Моята схема за удостоверяване е малко забава:на всяка страница от уеб приложението Laravel има стойност на токен, която е уникална за потребителя и се генерира при влизане в приложението Laravel. Javascript използва тази стойност на токена за удостоверяване, когато клиентът се свърже с WAMP рутера – ако е невалиден (или остарял) токен, връзката се отказва.
Що се отнася до ограничаването на известията до конкретни потребители или групи, един лесен начин да го направите би бил да обвиете подходящия JS код във функция, която се извиква (или се извежда само на клиента в блейд шаблона), ако потребителят има подходящия разрешения.
И накрая, приложението ми е строго за използване в нашата защитна стена, така че не съм разследвал използването на криптиране/декриптиране.