Implementoval jsem (pomalu) něco podobného pro webovou aplikaci pomocí Autobahn a WAMP, je to přidružený protokol a router. V současné době mám asi pět různých služeb (některé napsané v PHP, některé v NodeJS) plus klienti, kteří všichni komunikují v reálném čase.
Pěkná věc na WAMP je, že zapouzdřuje jak vzdálená volání procedur (RPC), tak modely publikování/přihlášení (PubSub) pro komunikaci.
Moje schéma ověřování je trochu spletité:na každé stránce webové aplikace Laravel je hodnota tokenu, která je pro uživatele jedinečná a generuje se po přihlášení do aplikace Laravel. Javascript používá tuto hodnotu tokenu k ověření, když se klient připojuje k routeru WAMP – pokud se jedná o neplatný (nebo zastaralý) token, připojení je odmítnuto.
Pokud jde o omezení upozornění na konkrétní uživatele nebo skupiny, jedním jednoduchým způsobem by bylo zabalit příslušný kód JS do funkce, která se volá (nebo je pouze výstupem klienta v šabloně blade), pokud má uživatel odpovídající oprávnění.
A konečně, moje aplikace je výhradně určena pro použití v rámci našeho firewallu, takže jsem nezkoumal použití šifrování/dešifrování.