Autenticação vs Autorização
- #JWT
- #Arquitetura de Sistemas
Autenticação vs Autorização
Este é um tema que gera bastante confusão na área de tecnologia. Afinal, qual a diferença entre autenticação e autorização?
O que é Autenticação?
Autenticação é o ato de validar que um usuário é quem ele realmente diz ser. Esse é o primeiro passo de qualquer processo de autenticação.
Exemplos de processo de autenticação:
- Senha
- PINs
- Apps de autenticação (Ex.: Google Authenticator)
- Biometria
Além desses processos únicos de autenticação, há também a autenticação múltipla, o conhecido MFA - Multi Factor Authentication, que faz mais de uma validação. Por exemplo, além da senha é validado também dados que somente o usuário possui, como um código vindo por SMS.
O que é Autorização?
Autorização é o processo de dar permissão a um usuário para que este consiga acessar um recurso ou função. Normalmente este termo também é chamado de controle de acesso ou privilégios de usuário.
Exemplos de Autorização:
- Dar acesso para alguém fazer download de um arquivo no servidor.
- Liberar acesso para um usuário comum ter privilégios de administrador.
Autenticação vs Autorização
A primeira coisa a levar em consideração é que autenticação e autorização são etapas diferentes no processo de login.
A Autorização vem depois da Autenticação. Um usuário precisa primeiro se autenticar, provando quem é, para depois obter autorização ao recurso que deseja. Caso ele não esteja autorizado a obter tal recurso, ele estará somente autenticado. Por exemplo, ele pode conseguir logar numa aplicação, ter uma sessão ativa, mas não conseguir acessar certas áreas do sistema, como áreas de configuração ou administração.
Quadro para facilitar o entendimento:
Espero que tenham gostado e que tenha ajudado a trazer mais clareza sobre este tema!
Autor: Renato Silveira
LinkedIn: https://www.linkedin.com/in/renato-silveira/
GitHub: https://github.com/rensilver