Problema em receber o header de requisição http, API rest

26/08/2020

0

Olá, pessoal!
Estou criando uma API para um painel admin, onde o user ao se logar com e-mail e senha, recebe um token (Json Web Token). Criei um middleware para verificar se esse token está sendo recebido e se ele está no formato correto.

middleware a abaixo:

module.exports = function(request, response, next){

const auth= request.header.ok;
const jwt = require('jsonwebtoken');
const config = require('../config/auth.json');

//verificando a existência do token
if(!auth){
return response.status(401).send({ error: "You need a token"});
}

const tokenparts = auth.split(" ");
if(!(tokenparts.length == 2)){
return response.status(401).send({ error: "Token doesn't have 2 parts"});
}
const [pre, token ] = tokenparts;
if(!/^Bearer$/i.test(pre)){
return response.status(401).send({ error: "Wrong format"});
}

jwt.verify(token, config.code, function(error, decoded){
if(error){
return response.status(401).send({ error: "Invalid token"});
}
request.userOk.id = decoded.id;
return next();
})
};
Dentro do controller dos meus funcionários, criei uma rota teste (depois serão feitas consultas ao banco).
const express = require ('express');
const router = express.Router();
const authenticationMiddle = require('../middlewares/authenticationMiddle');

router.use(authenticationMiddle);
router.get('/index', (request, response) => {
response.send('listando todos os navers');
});


module.exports = function(app){
app.use('/navers', router)
};

Estou usando o Insomnia para realizar as requisições. Lá, eu crio um novo header, com o nome "ok", como defini lá no middleware e vou testando os valores do token. Mas, mesmo quando eu passo um valor, não recebo nada no header da requisição. O que estou fazendo de errado? Obrigada pela atenção.
Julie Silveira

Julie Silveira

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar