Verificando la fuente de una solicitud [duplicado]

2

Actualmente estoy escribiendo un juego multijugador en red que utiliza un sistema de lobby para encontrar partidas disponibles para que los jugadores se unan. La lista de coincidencias disponibles es servida y actualizada por una aplicación web a través de una simple API REST.

Por ejemplo, cuando un jugador ingresa al lobby y crea una nueva partida para que otros jugadores se unan, el juego enviará una solicitud POST a la aplicación web, que agregará la partida a la lista. Por otro ejemplo, si este mismo jugador decide que no quiere organizar una partida, hará clic en un botón que dice "cancelar coincidencia" o algo así. El juego enviará una solicitud DELETE a la aplicación web, que eliminará la coincidencia de la lista.

En cuanto a la seguridad, me preocupa que un jugador inteligente pueda descubrir cómo usar la API para mi aplicación web a través de cURL (o alguna otra herramienta para realizar solicitudes HTTP) para enviar solicitudes maliciosas (como eliminar la coincidencia de otra persona de la lista, por ejemplo). Para establecer claramente mis objetivos: quiero que mi aplicación web pueda verificar que las solicitudes entrantes provienen del juego, y no de alguna otra aplicación como cURL, antes de procesarlos.

Mis instintos me dicen que la mejor solución es usar un token JWT. El juego se autenticará en la aplicación web, que generará un token y se lo dará al juego. Luego, el juego proporcionará el token cada vez que realice una solicitud. La pregunta es: ¿cómo consigo que el juego se autentique (y, por lo tanto, reciba un token de la aplicación web) de una manera que un usuario malintencionado no podría usar una herramienta como cURL?

    
pregunta Pr4isethesun 08.10.2018 - 22:36
fuente

0 respuestas

Lea otras preguntas en las etiquetas