OAuth 2.0 permite que um app acesse recursos em nome do usuário sem receber a senha. Fluxos comuns: Authorization Code (com PKCE em apps públicos) e Client Credentials (máquina a máquina).
Não confunda com autenticação pura — para identidade, costuma-se combinar com OpenID Connect.
OAuth resolve autorização, não autenticação
OAuth 2.0 puro diz "esse token pode acessar X em nome do usuário" — ele não garante quem é o usuário. Confundir isso é erro comum: para saber identidade, você precisa do OpenID Connect (OIDC), construído em cima do OAuth, que adiciona o id_token com identidade verificável.
- "Login com Google/GitHub" que você usa em sites é OIDC, não OAuth puro, mesmo que o botão diga OAuth
- Nunca guarde o
client_secretem app mobile/frontend — use PKCE, feito exatamente para esse caso - Token de acesso vazado tem prazo de validade; refresh token vazado é mais grave e deve ser revogável