1
resposta

Utilizar o JWT para armazenar o cargo?

Bom dia

É viável adicionar o cargo do usuário no JWT no momento do login? para que nos próximos acessos a validação seja feita através do payload do token, assim tirando a necessidade de buscar o usuário no banco de dados em toda requisição, por exemplo na rota para mostrar todos os post não seria mais necessário buscar o usuário, depois validar o cargo e só então buscar os posts.

Deis de já fico agradecido : )

1 resposta

Olá Jardel! Bom dia! Tudo bem?

Peço desculpa pela demora em responder o seu tópico.

Sim, é viável adicionar o cargo do usuário no JWT no momento do login. Essa é uma prática comum e pode trazer benefícios para a validação de autorização nas requisições futuras, além de está dentro das boas práticas da programação.

Ao incluir o cargo do usuário no payload do token JWT, você pode evitar a necessidade de buscar o usuário no banco de dados a cada requisição. Com o cargo já presente no token, você pode validar diretamente no servidor, sem a necessidade de consultar o banco de dados novamente.

Por exemplo, na rota para mostrar todos os posts, você pode verificar o cargo do usuário diretamente no payload do token, sem precisar buscar o usuário no banco de dados, validar o cargo e só então buscar os posts. Isso pode otimizar o desempenho da sua aplicação, reduzindo o número de consultas ao banco de dados.

No entanto, é importante lembrar que o JWT é assinado, mas não criptografado. Portanto, não é recomendado armazenar informações sensíveis no payload do token, como senhas ou informações confidenciais. O cargo do usuário é uma informação que geralmente não é considerada sensível, mas é importante avaliar caso a caso.

Espero ter ajudado! Caso tenha mais perguntas, estarei à disposição para respondê-las.

Grande abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software