Vamos a utilizar tokens JWT para proporcionar un mecanismo de autenticación a los usuarios.
Además, también securizaremos todas las rutas que tenemos ahora disponibles así como todas las que se creen de aquí en adelante, excepto la de registro y las propias de autenticación (login, token refresh...). La implementación deberá ser compatible con el servidor HTTP utilizado actualmente, Gin.
Condiciones de satisfacción
[x] Debemos terminar #5.
[x] Una vez añadido el middleware y protegidas las rutas descritas, realizar los siguientes casos:
[x] Que un usuario obtenga un token JWT sólo si sus credenciales son correctas (y que no lo obtenga en caso contrario).
[x] Que un usuario pueda acceder a una ruta protegida si incluye en su cabecera de autenticación un token válido.
[x] Que un usuario no pueda acceder a una ruta protegida si no incluye la cabecera de autenticación.
[x] Que un usuario no pueda acceder a una ruta protegida si su token ha sido manipulado o es incorrecto.
[x] Que un usuario no pueda acceder a una ruta protegida si su token caducó.
[x] Que un token refrescado tenga una fecha de caducidad mayor a la que se le envía (pero ambos siguen siendo válidos).
Descripción
Vamos a utilizar tokens JWT para proporcionar un mecanismo de autenticación a los usuarios. Además, también securizaremos todas las rutas que tenemos ahora disponibles así como todas las que se creen de aquí en adelante, excepto la de registro y las propias de autenticación (login, token refresh...). La implementación deberá ser compatible con el servidor HTTP utilizado actualmente, Gin.
Condiciones de satisfacción
Referencias