Em que momento é passado o usuarioId na middleware de roles. Sei que esta vindo do req, mas em que momento o req tem esse usuarioId?
Em que momento é passado o usuarioId na middleware de roles. Sei que esta vindo do req, mas em que momento o req tem esse usuarioId?
Olá Guilherme! Tudo bem?
O usuarioId
geralmente é extraído do token de autenticação que você recebe quando o usuário faz login. Esse token, que é um JSON Web Token (JWT), contém informações codificadas sobre o usuário, incluindo o usuarioId
.
No fluxo típico, quando um usuário faz login, ele recebe um token que deve ser enviado em todas as requisições subsequentes, geralmente no cabeçalho de autorização. Na sua aplicação, você provavelmente tem um middleware de autenticação que decodifica esse token e anexa as informações do usuário ao objeto req
. É nesse ponto que o req
recebe o usuarioId
.
Por exemplo, um middleware de autenticação poderia ser algo assim:
const jwt = require('jsonwebtoken');
function autenticar(req, res, next) {
const token = req.header('Authorization').replace('Bearer ', '');
const dados = jwt.verify(token, 'seuSegredo');
req.usuarioId = dados.id;
next();
}
Após esse middleware ser executado, o req
terá o usuarioId
, que então pode ser usado por outros middlewares, como o de roles, para verificar as permissões do usuário.
Espero ter ajudado e bons estudos!