Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

213
Visualizações
¿Cómo manejar el error de código de estado de error 401 en Node.js/Express?

Estoy trabajando en la funcionalidad de inicio de sesión en mi proyecto, ahora, el flujo se ve así (desde el front-end hasta el back-end):

 async login() { await login({ password: this.userPassword, login: this.userLogin, twoFactor: this.twoFactor }).then((res) => { if (res.error) { // } else { console.log(res) } }) }

Y aquí comienzan los problemas, como puede ver, si algo sale mal, devuelvo el código de estado 401 y algún mensaje de error. Cuando inicio sesión con los datos correctos, no hay problema para obtener el token, pero cuando proporciono datos incorrectos, tengo un punto final de inicio de login externo pendiente en las herramientas de desarrollo en el navegador y luego, después de un tiempo, Error: Request failed with status code 401 en la interfaz. Terminal. Sin este status(401) con solo JSON, funciona bien, pero cuando intento agregar el código 401, la aplicación falla.

 const userService = require('./../services/userService') const crypto = require('./../services/cryptoService') const jwt = require('./../services/jwtService') const twoFactorService = require('node-2fa') module.exports = { login: async (req, res) => { let { login, password, twoFactor } = req.body password = crypto.encrypt(password, process.env.APP_KEY) const result = await userService.getUserToLogin(login, password) if (!result) { res.status(401).json({ error: 'Unauthorized' }) } else { const faCode = result.twofatoken const result2F = twoFactorService.verifyToken(faCode, twoFactor); if ( !result2F || result2F.delta !== 0 ) { res.status(401).json({ error: 'Unauthorized' }) } else { const userId = crypto.encrypt(result.id, process.env.CRYPTO_KEY) const token = await jwt.sign({ uxd: userId, }); res.json(token); } } } }

En realidad, no tengo idea de qué hacer con eso y cómo manejar este error.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Bien, aquí está la respuesta. En realidad, solo necesita manejar este error en su enrutador:

 router.post('/login', async (req, res) => { try { const data = await api.post('/login', req.body) res.json(data.data) } catch (e) { // Probably you have here just console.log(e), but this way, you can handle it res.status(e.response.status).json(e.response.data) } })
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda