DEV Community

Discussion on: O Básico: JWT - JSON Web Token

Collapse
 
orlandodantas profile image
Orlando Dantas • Edited

@gabrielhsilvestre mais uma vez parabéns pelo foco, seus conteúdos me ajudam bastante, pois são diretos ao ponto, ajudando na hora de uma possível consulta para lembrar um ponto ou outro que esquecemos ou deixamos passar batido.

Fiquei com duas dúvidas, imagino que possa me ajudar a saná-las, e desde já fico agradecido.
A primeira é a seguinte, autenticação seria o processo onde o usuário envia o ‘login’ e a senha, e autorização é o processo em que envia o JWT, ou JWT pode ser considerado para o processo de autenticação também?

A segunda é porque instalar o JWT em modo de desenvolvimento como foi feito acima, tem algum motivo para isso?

Collapse
 
gabrielhsilvestre profile image
Gabriel_Silvestre • Edited

Agradeço o reconhecimento e fico bem feliz que o conteúdo esteja ajudando!

Sobre as dúvidas:

1 - "Autenticação seria o processo onde o usuário envia o ‘login’ e a senha, e autorização é o processo em que envia o JWT, ou JWT pode ser considerado para o processo de autenticação também?"

Posso estar enganado, mas acho que autenticação seria o processo de validação do Token. Por exemplo: após um usuário fazer o login (outro processo) ele irá receber um Token, esse que deverá ser enviado junto de futuras requisições para que o usuário possa ser autenticado.

Enquanto a autorização seria um processo "pós login" e feito com informações do Token, por exemplo: se um usuário for administrador, seu Token poderá ter uma chave chamada admin recebendo o valor true e dentro de nossa API validamos se admin é true, se for o caso autorizamos o acesso, caso contrário bloqueamos.


2 - "Porque instalar o JWT em modo de desenvolvimento como foi feito acima, tem algum motivo para isso?"

A instalação em modo de desenvolvimento é apenas para a tipagem do JWT, essa que é obrigatória para se codar com TypeScript, porque se não ele fica "perdido". Então se for codar em JavaScript, é só instalar o JWT normalmente.

npm i jsonwebtoken  # <- instalação padrão (para JavaScript)
Enter fullscreen mode Exit fullscreen mode
npm i -D @types/jsonwebtoken  # <- instalação da tipagem (para TypeScript)
Enter fullscreen mode Exit fullscreen mode

Espero que tenha ficado mais claro, qualquer dúvida é só falar!

Collapse
 
orlandodantas profile image
Orlando Dantas

Obrigado, ficou claro sim!