Hola.
Debo implementar una api en Laravel, que será usada en una app Android.
Ya he hecho esto antes, pero nunca me preocupé realmente por si la api era segura.
Lo primero que debo hacer es el login. Para ello he leído que usar Json Web Tokens en una forma válida de hacerlo.
JWT consiste en enviar las credenciales haciendo una petición a la api. La api verifica los datos, genera un token, y lo devuelve como respuesta. La app Android almacenará este token y lo usará en el header de las peticiones siguientes.
Mi pregunta es, ¿por qué se aplica un cifrado sobre el token y no se envían las credenciales en cada petición?
Si el token es cifrado debe ser porque se puede acceder a él a través de un análisis en el tráfico de red. En todo caso, la primera petición, cuando el token aun no se ha generado, ¿está totalmente expuesta?
Leí acerca de "man-in-the-middle", pero no sé si el concepto se aplique exactamente en este caso. Según leí, esto puede evitarse usando HTTPS.
¿HTTPS protege las peticiones que se hagan sobre una página determinada sin importar quién sea el cliente (web, app móvil)?
Si esta protección es cierta, ¿debería preocuparme en conseguir HTTPS para el dominio donde funcionará la api más que por aplicar JWT?
Es decir, podría aplicarse JWT adicionalmente, pero si HTTPS ofrece un cifrado a las peticiones, teóricamente ya no tendría que usar tokens, verdad?
Debo implementar una api en Laravel, que será usada en una app Android.
Ya he hecho esto antes, pero nunca me preocupé realmente por si la api era segura.
Lo primero que debo hacer es el login. Para ello he leído que usar Json Web Tokens en una forma válida de hacerlo.
JWT consiste en enviar las credenciales haciendo una petición a la api. La api verifica los datos, genera un token, y lo devuelve como respuesta. La app Android almacenará este token y lo usará en el header de las peticiones siguientes.
Mi pregunta es, ¿por qué se aplica un cifrado sobre el token y no se envían las credenciales en cada petición?
Si el token es cifrado debe ser porque se puede acceder a él a través de un análisis en el tráfico de red. En todo caso, la primera petición, cuando el token aun no se ha generado, ¿está totalmente expuesta?
Leí acerca de "man-in-the-middle", pero no sé si el concepto se aplique exactamente en este caso. Según leí, esto puede evitarse usando HTTPS.
¿HTTPS protege las peticiones que se hagan sobre una página determinada sin importar quién sea el cliente (web, app móvil)?
Si esta protección es cierta, ¿debería preocuparme en conseguir HTTPS para el dominio donde funcionará la api más que por aplicar JWT?
Es decir, podría aplicarse JWT adicionalmente, pero si HTTPS ofrece un cifrado a las peticiones, teóricamente ya no tendría que usar tokens, verdad?