Uma aplicação web foi desenvolvida utilizando Node.js com o ...
Próximas questões
Com base no mesmo assunto
Ano: 2025
Banca:
IF Sul Rio-Grandense
Órgão:
IF Sul Rio-Grandense
Prova:
IF Sul Rio-Grandense - 2025 - IF Sul Rio-Grandense - Professor EBTT - Área 13, 17, 20, 25, 42: Informação e Comunicação I |
Q3208915
Redes de Computadores
Uma aplicação web foi desenvolvida utilizando Node.js com o framework Express. O
objetivo é implementar um middleware simples de autenticação para proteger a rota
/login. Este middleware verifica o cabeçalho Authorization das requisições HTTP, validando
um token pré-definido. Além disso, o código inclui o tratamento de erros de autenticação e
uma resposta padrão para rotas inexistentes.
Considere o seguinte trecho de código que implementa essa funcionalidade.
var express = require('express'); var app = express();
const auth = (req, res, next) => { try { const token = req.headers.authorization.split(' ')[1]; if (token !== 'XXX') { throw new Error('ERROR!');
} next(); } catch (err) { res.status(401).send({ message: 'Unauthorized' }); } } app.use('/login', auth); app.post('/login', (req, res) => { res.send('Hello World'); });
app.use((req, res) => { res.status(404).send({ message: 'Not Found' }); });
app.listen(3000);
Com base no comportamento deste código, considere as seguintes requisições HTTP feitas ao servidor:
I. POST /login/auth HTTP/1.1 Authorization: Bearer XXX
II. GET /login HTTP/1.1 Authorization: XXX
III. POST /login HTTP/1.1 Authorization: Bearer XXX
IV. POST /login HTTP/1.1 Authorization: XXX
Dado o código apresentado, qual é o status de resposta esperado para cada uma das requisições listadas acima?
Considere o seguinte trecho de código que implementa essa funcionalidade.
var express = require('express'); var app = express();
const auth = (req, res, next) => { try { const token = req.headers.authorization.split(' ')[1]; if (token !== 'XXX') { throw new Error('ERROR!');
} next(); } catch (err) { res.status(401).send({ message: 'Unauthorized' }); } } app.use('/login', auth); app.post('/login', (req, res) => { res.send('Hello World'); });
app.use((req, res) => { res.status(404).send({ message: 'Not Found' }); });
app.listen(3000);
Com base no comportamento deste código, considere as seguintes requisições HTTP feitas ao servidor:
I. POST /login/auth HTTP/1.1 Authorization: Bearer XXX
II. GET /login HTTP/1.1 Authorization: XXX
III. POST /login HTTP/1.1 Authorization: Bearer XXX
IV. POST /login HTTP/1.1 Authorization: XXX
Dado o código apresentado, qual é o status de resposta esperado para cada uma das requisições listadas acima?