¿Como puedo envolver el Unauthorized que me devulve cuando el JWT es invalido en un error de boom? Necesito que se muestre en un formato ...

Armando Castro

Armando Castro

Pregunta
student
hace 7 años

¿Como puedo envolver el Unauthorized que me devulve cuando el JWT es invalido en un error de boom?

Necesito que se muestre en un formato JSON gracias.

2 respuestas
    Guillermo Rodas

    Guillermo Rodas

    teacher
    hace 7 años

    Tienes que intervenir la respuesta de error tu mismo en el middleware. Busca la sesion** Custom Callbacks** aquí:

    Alexis Alberto Texis Auza

    Alexis Alberto Texis Auza

    student
    hace 7 años

    Hola,yo hago lo siguiente :

    const express = require('express') const router = express.Router() const passport = require('passport') const boom = require('boom') const services = require('../services') const products = new services() require('../utils/auth/jwt') router.get('/', async (req,res,next) => { passport.authenticate('jwt',(err,user) => { try { if(err || !user) { //1) : Puedes devolver el error de boom pasandoselo a next(esto debería devolver un json) y opcionalmente mandar un mensaje como parametro a boom next(boom.unauthorized('No tienes autorizacion') //*********************************************// // 2) : O puedes enviar un simple json res.status(401).json({ message : 'No tienes autorizacion', payload : [] }) } req.login(user,{session : false}, async err => { if(err) { next(err) } const products = await products.getAll() res.status(200).json({ products }) }) } catch(e) { next(e) } })(req,res,next) }) module.exports = router
Curso de Express.js

Curso de Express.js

Crea una aplicación web desde cero con Express.js, uno de los frameworks más populares de JavaScript. Genera tu web app de forma fácil y rápida gracias a sus plugins de alto rendimiento y despliega toda tu creatividad en el desarrollo de tus aplicaciones con Express.

Curso de Express.js
Curso de Express.js

Curso de Express.js

Crea una aplicación web desde cero con Express.js, uno de los frameworks más populares de JavaScript. Genera tu web app de forma fácil y rápida gracias a sus plugins de alto rendimiento y despliega toda tu creatividad en el desarrollo de tus aplicaciones con Express.