DO WebSocket Singleton — showcase
1. Login (gets connect token from /api/login)
user
login
connect token:
—
2. WebSocket connection
disconnected
connect
disconnect
ping
3. Channels
4. Publish (server-side, /publish/:channel + service auth)
channel
message
publish
publishing always uses service auth (Bearer header). The browser never publishes directly — your API would broker this.
5. Admin (service-auth required)
kick user
kick
server sub
force-sub
force-unsub
GET /stats
activity log