Autenticar JWT a través de websocket

3

Publico aquí para saber si mi mecanismo de autenticación a través de websocket es correcto.

La API de mi aplicación funciona a través de websocket en lugar del resto HTTP estándar. Cada vez que se accede a una ruta que está protegida a través de websocket, el JWT se envía con el mensaje de websocket en el cliente al servidor. En el servidor, si el recurso accedido necesita autenticación, se verifica el JWT.

Estoy usando sockJS y en su github indican: .

  

Un iframe se aloja desde el dominio de destino SockJS. Eso significa que el servidor   recibirá solicitudes del iframe, y no del dominio real.   El dominio de un iframe es el mismo que el dominio SockJS. El problema   es que cualquier sitio web puede incrustar el iframe y comunicarse con él, y   Solicitud de establecimiento de la conexión SockJS. Uso de cookies para   La autorización en este escenario dará lugar a la concesión de pleno acceso a   SockJS se comunica con su sitio web desde cualquier sitio web. Esto es un   ataque CSRF clásico.

Pero este no parece aplicarse a JWT sobre websocket en lugar de cookies en HTTP, ¿o no?

También me pregunto si podría autenticarme solo una vez y mantener una bandera authenticated: true en el lado del servidor de la conexión websocket. Tiene sentido no tener que autenticar al usuario en cada solicitud.

Según entiendo JWT, tienen un límite de tiempo con expire , por lo que no funcionaría, ¿no?

Para resumir:

  • ¿Puedo autenticar solo una vez?
  • ¿Hay algún defecto obvio aquí, como CSRF?
pregunta Ced 11.04.2017 - 17:03
fuente

0 respuestas

Lea otras preguntas en las etiquetas