Armando Castro
Pregunta¿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.
Guillermo Rodas
Tienes que intervenir la respuesta de error tu mismo en el middleware. Busca la sesion** Custom Callbacks** aquí:
Alexis Alberto Texis Auza
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
