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

Autenticação

App único sem SSO nem apps de terceiros — sessão sólida.

Ver o conceito completo

OAuth 2.0

Precisa de 'Login with X', IdP corporativo ou API consumida por clients externos.

Ver o conceito completo

Por que confundem

Batizar de OAuth um POST /login com senha no body do SPA. Isso não é OAuth — é login clássico com nome errado.