Saya telah menerapkan (perlahan) sesuatu yang serupa untuk aplikasi web menggunakan Autobahn dan WAMP, ini terkait protokol dan router. Saat ini saya memiliki sekitar lima layanan yang berbeda (beberapa ditulis dalam PHP, beberapa di NodeJS) ditambah semua klien yang berkomunikasi secara real time.
Hal yang menyenangkan tentang WAMP adalah ia merangkum model panggilan prosedur jarak jauh (RPC) dan publish/subscribe (PubSub) untuk komunikasi.
Skema otentikasi saya sedikit rumit:pada setiap halaman aplikasi web Laravel, ada nilai token yang unik bagi pengguna dan dihasilkan saat masuk ke aplikasi Laravel. Javascript menggunakan nilai token ini untuk mengautentikasi saat klien terhubung ke router WAMP - jika itu token yang tidak valid (atau basi), koneksi ditolak.
Untuk membatasi notifikasi ke pengguna atau grup tertentu, salah satu cara sederhana untuk melakukannya adalah dengan membungkus kode JS yang sesuai dalam fungsi yang hanya dipanggil (atau hanya output ke klien di template blade) jika pengguna memiliki yang sesuai izin.
Akhirnya, aplikasi saya hanya untuk digunakan di dalam firewall kami, jadi saya belum menyelidiki menggunakan enkripsi/dekripsi.