Sessão, JWT e OAuth2
As três formas mais comuns de identificar o usuário a cada pedido, com as trocas de cada uma.
Autenticação é como o servidor descobre quem está fazendo cada pedido. Como o HTTP não guarda memória, toda requisição precisa trazer uma prova de identidade.
Um erro aqui expõe contas e dados de outros usuários. A escolha também muda como o sistema escala e como um acesso é cortado.
- Na sessão, o servidor guarda o estado e o navegador leva só um identificador, num cookie.
- No JWT, o token carrega os dados assinados, e o servidor confere sem consultar nada.
- Um token assinado vale até vencer, a menos que exista um mecanismo extra de revogação.
- OAuth2 delega acesso a outro sistema; OpenID Connect acrescenta o login.
- Na dúvida, use um provedor de identidade pronto.