¿Es posible asegurar las API de WebSocket con OAuth 2.0?

Estoy implementando un proveedor de OAuth para asegurar diferentes API basadas en la web. El mayor dolor de cabeza me está dando la seguridad de WebSockets a través de OAuth.

¿Se puede hacer completamente seguro en un cliente que está configurado en un navegador?

¿Cuáles son los riesgos si se encuentra en un navegador en comparación con una aplicación web con un servidor?

Quiero usar OAuth de 2 patas para restringir las conexiones al websocket, por lo que solo los clientes registrados pueden adquirir una conexión WebSocket con la API sin ser rechazados. Dado que una conexión WebSocket siempre se establece (!) En el lado del cliente (desde el navegador), ¿es posible proteger el acceso de AccessToken de ser robado y mal utilizado?
En ese momento, lo único que establece un cliente basado en navegador desde una aplicación de cliente de aplicación web es la URL.

Si las aplicaciones basadas en el navegador no son seguras, podría vivir con eso, pero quiero asegurarme de que al menos las aplicaciones basadas en la web tengan una forma segura de acceder al websocket.

Pero en ese momento me pregunto si el accessToken es necesario en absoluto, porque de lo contrario solo podría usar el URI de origen como único mecanismo seguro.

Respuestas a la pregunta(2)

Su respuesta a la pregunta