Tôi đang triển khai (từ từ) một cái gì đó tương tự cho một ứng dụng web sử dụng Autobahn và WAMP, đó là giao thức và bộ định tuyến được liên kết. Tôi hiện có khoảng năm dịch vụ khác nhau (một số được viết bằng PHP, một số bằng NodeJS) cộng với các ứng dụng khách đều giao tiếp trong thời gian thực.
Điều thú vị về WAMP là nó đóng gói cả các cuộc gọi thủ tục từ xa (RPC) và xuất bản / đăng ký (PubSub) để giao tiếp.
Sơ đồ xác thực của tôi hơi kỳ cục:trên mỗi trang của ứng dụng web Laravel, có một giá trị mã thông báo là duy nhất cho người dùng và được tạo khi đăng nhập vào ứng dụng Laravel. Javascript sử dụng giá trị mã thông báo này để xác thực khi máy khách kết nối với bộ định tuyến WAMP - nếu đó là mã thông báo không hợp lệ (hoặc cũ), kết nối sẽ bị từ chối.
Đối với việc giới hạn thông báo cho người dùng hoặc nhóm cụ thể, một cách đơn giản để làm điều đó là bọc mã JS thích hợp trong một hàm chỉ được gọi (hoặc chỉ được xuất cho máy khách trong mẫu phiến) nếu người dùng có quyền.
Cuối cùng, ứng dụng của tôi chỉ được sử dụng bên trong tường lửa của chúng tôi, vì vậy tôi chưa điều tra bằng cách sử dụng mã hóa / giải mã.