Existen distintos métodos para poder dar acceso a una API, en este caso veremos la autenticación a través de tokens usando JWT.
Autenticación por tokens
La autenticación por tokens en términos simples es el proceso de enviar una cadena de caracteres desde el cliente hacía nuestra API, nosotros obtenemos el token y podemos comprobar si la cadena de caracteres (token) es valido o no.
Proceso
- Primero autenticamos a un usuario usando sus credenciales (usuario - contraseña)
- Una vez que ya autenticó en el servidor, genera una cadena de caracteres que contiene el token JWT.
- Ese token es enviado de vuelta al cliente.
- El token se almacena en el lado del cliente.
- El token se manda al lado del servidor en cada petición que el cliente realice.
- El servidor valida el token y otorga acceso al recurso que el cliente esta solicitando (autorización).
Uso en nuestra API
npm install jsonwebtoken
- Crear una clave maestra en nuestras variables de entorno .env para poder encriptar los datos y así proteger el token, esta clave debe de ser privada.