@bgroup/helpers
v1.0.10
Published
El middleware `authenticateToken` se utiliza para proteger rutas en una aplicación ExpressJS y garantizar que las solicitudes entrantes tengan un token JWT válido en el encabezado de autorización (`Authorization`). Este middleware verifica la autenticid
Keywords
Readme
Clase JWT, Implementación del Middleware del Token JWT y Objeto APIResponse 🔓 🔑
Middleware authenticateToken :
El middleware authenticateToken se utiliza para proteger rutas en una aplicación ExpressJS y garantizar que las
solicitudes entrantes tengan un token JWT válido en el encabezado de autorización (Authorization). Este middleware
verifica la autenticidad del token y asigna la información decodificada del usuario al objeto de solicitud (req.user)
para ser utilizada en las rutas protegidas.
Uso :
El middleware se puede aplicar a las rutas específicas que se desean proteger en una aplicación Express.
app.get('/ruta-protegida', authenticateToken, (req, res) => {
// Lógica de la ruta protegida
// La información del usuario decodificado está disponible en req.user
});Funcionamiento :
- Verificación del token: Extrae el token del encabezado de autorización de la solicitud
(
req.headers['authorization']) y lo verifica mediante el uso de la claseJWTo lógica adecuada. - Decodificación del token: Si el token es válido, decodifica la información almacenada en el token utilizando la
clave secreta proporcionada al
JWT. - Asignación del usuario decodificado: Asigna la información decodificada del usuario al objeto de solicitud
(
req.user) para ser utilizada en las rutas protegidas subsiguientes.
Manejo de errores
- Si el token está ausente o es inválido, el middleware devuelve una respuesta de estado 401 o 403 según corresponda, indicando acceso denegado.
- En caso de un error interno o fallo en la verificación, el middleware responde con un estado 500 y un mensaje de error genérico.
Consideraciones
- Este middleware se utiliza comúnmente en rutas que requieren autenticación y autorización, permitiendo o denegando el acceso a los recursos según la validez del token proporcionado.
- Es crucial manejar adecuadamente las rutas protegidas en función de la lógica de la aplicación y los roles de los usuarios para garantizar un nivel adecuado de seguridad.
Objeto APIResponse :
El objeto APIResponse es una utilidad para manejar las respuestas de API de manera consistente, ofreciendo métodos
predefinidos para varios códigos de estado HTTP.
Métodos :
success(data: any, statusCode(opcional): number, description(opcional): string): objectGenera una respuesta exitosa con datos opcionales, código de estado y descripción.
created(data: any, statusCode(opcional): number, description(opcional): string): objectCrea un recurso exitosamente con datos opcionales, código de estado y descripción.
notFound(statusCode(opcional): number, description(opcional): string): objectIndica que no se encontró un recurso, con un código de estado y descripción opcionales.
error(statusCode(opcional): number, description(opcional): string): objectRepresenta un error interno del servidor, con un código de estado y descripción opcionales.
