1
resposta

[Dúvida] Duvida 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?

1 resposta

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!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!