From 3e76a1911bc723069e86530dbdb7cb615cc331bc Mon Sep 17 00:00:00 2001 From: enagra Date: Fri, 3 Jul 2020 20:10:27 +0200 Subject: [PATCH] =?UTF-8?q?Correcci=C3=B3n=20de=20Bug=20que=20provocaba=20?= =?UTF-8?q?(previo=20fallo=20de=20la=20verificaci=C3=B3n=20del=20token=20d?= =?UTF-8?q?e=20Google)=20un=20error=20del=20tipo=20`ERR=5FHTTP=5FHEADERS?= =?UTF-8?q?=5FSENT`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reproducirlo: Enviamos un token incorrecto de google a la API REST: `POST`: `{{url}}/google` Obtenemos el error: `code: 'ERR_HTTP_HEADERS_SENT'`. Por modificar el header, el body y posteriormente (más adelante por no interrumpirse el script) se vuelve a modificar el header y el body. Concretamente, si la verificación del token de google falla, continua la ejecución hasta la [línea 145](https://github.com/Klerith/node-restserver-curso/blob/8ed4b201f570f7979547c3cbb65d71c70ec26114/server/routes/login.js#L145) --- server/routes/login.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/server/routes/login.js b/server/routes/login.js index 3cd49c6..2ecac6a 100644 --- a/server/routes/login.js +++ b/server/routes/login.js @@ -88,11 +88,13 @@ app.post('/google', async(req, res) => { let googleUser = await verify(token) .catch(e => { - return res.status(403).json({ + console.warn("Falló la verificación del token de Google") + res.status(403).json({ ok: false, err: e }); }); + if(!googleUser) return; Usuario.findOne({ email: googleUser.email }, (err, usuarioDB) => { @@ -172,4 +174,4 @@ app.post('/google', async(req, res) => { -module.exports = app; \ No newline at end of file +module.exports = app;