Magna Concursos
3521128 Ano: 2025
Disciplina: TI - Desenvolvimento de Sistemas
Banca: IF-SUL
Orgão: IF-SUL

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?

 

Provas

Questão presente nas seguintes provas