Ik heb (langzaam) iets soortgelijks geïmplementeerd voor een web-app met Autobahn en WAMP, het bijbehorende protocol en de router. Ik heb momenteel ongeveer vijf verschillende services (sommige geschreven in PHP, andere in NodeJS) plus de clients die allemaal in realtime communiceren.
Het leuke van WAMP is dat het zowel remote procedure calls (RPC) als publish/subscribe (PubSub) modellen voor communicatie omvat.
Mijn authenticatieschema is een beetje een kludge:op elke pagina van de Laravel-webapp staat een tokenwaarde die uniek is voor de gebruiker en wordt gegenereerd bij het inloggen op de Laravel-app. Het Javascript gebruikt deze tokenwaarde om te verifiëren wanneer de client verbinding maakt met de WAMP-router - als het een ongeldig (of verouderd) token is, wordt de verbinding geweigerd.
Wat betreft het beperken van meldingen tot specifieke gebruikers of groepen, een eenvoudige manier om dit te doen, is door de juiste JS-code in een functie in te pakken die alleen wordt aangeroepen (of alleen wordt uitgevoerd naar de client in de blade-sjabloon) als de gebruiker de juiste machtigingen.
Ten slotte is mijn applicatie uitsluitend bedoeld voor gebruik binnen onze firewall, dus ik heb geen onderzoek gedaan naar het gebruik van encryptie/decryptie.