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?
Responder
Você atingiu o limite de 10 questões diárias para usuários sem plano. Ao se tornar um membro, você poderá:
Resolver mais questões e melhorar seu desempenho.
Acessar conteúdo exclusivo da IAProvatec.
Potencializar seus estudos com estatísticas avançadas.
Que tal se tornar um membro agora e aproveitar todos os recursos da plataforma?
Parabéns! Você já resolveu 500 questões no dia! Siga estas dicas para manter o ritmo:
Revisite os resumos e revisões teóricas.
Avalie suas anotações para reforçar o aprendizado.
Relaxe e prepare-se para o próximo dia de estudos!
Essa é uma medida de segurança para garantir a utilização adequada da ferramenta para todos os usuários.
Você tentou acessar um recurso exclusivo para assinantes. Ao se tornar um membro, você terá acesso a:
Responder questões ilimitadas e acompanhar seu progresso.
Acessar comentários detalhados gerados por Inteligência Artificial.
Adicionar e gerenciar suas anotações em cada questão.
Monitorar seu desempenho em tempo real.
Reportar erros e contribuir para a melhoria da plataforma.
Junte-se agora à comunidade IAProvatec e potencialize seus estudos com acesso completo!