Autenticação × OAuth 2.0
Dois padrões que costumam ser trocados um pelo outro, e o que de fato os separa.
Em uma frase
Autenticação própria prova identidade no *seu* sistema. OAuth 2 delega autorização de acesso (e, com OIDC, identidade) a um IdP — sem a senha do usuário no seu form.
Critério a critério
Onde o usuário digita a senha?
- Autenticação
- No seu app (ou no seu IdP interno).
- OAuth 2.0
- No provedor (Google, corporativo) — seu app vê o code/token.
Qual o objetivo principal?
- Autenticação
- Saber quem está na sua sessão.
- OAuth 2.0
- Permitir que um client aja com escopos, sem compartilhar senha.
Qual a complexidade?
- Autenticação
- Sessão + cookie bem feitos bastam para muitos produtos.
- OAuth 2.0
- Redirects, PKCE, clients, escopos — protocolo cheio.
Quando cada um brilha?
- Autenticação
- Um produto, uma base de usuários sua.
- OAuth 2.0
- SSO, login social, APIs para terceiros.
Quando escolher cada um
OAuth 2.0
Precisa de 'Login with X', IdP corporativo ou API consumida por clients externos.
Ver o conceito completoPor que confundem
Batizar de OAuth um POST /login com senha no body do SPA. Isso não é OAuth — é login clássico com nome errado.