OAuth

termo

desenvolvimento websegurançaprivacidade

Significa: OAuth 2.0

Um padrão que permite a um aplicativo acessar seus dados em outro serviço sem manusear sua senha.

O OAuth 2.0 é o fluxo de "Entrar com..." e "permitir que este app...": você autoriza um acesso limitado e revogável, e o app recebe um token em vez de suas credenciais. O OpenID Connect constrói identidade em cima dele. Bem feito, significa que um vazamento não entrega sua senha em todo lugar.

A coisa mais útil a saber sobre o OAuth é o que ele não é. É um arcabouço de autorização, não um protocolo de autenticação: responde ao que uma aplicação pode fazer em seu nome, não a quem você é. Serviços que o usaram para login tiveram de inventar suas próprias respostas para identidade, que é exatamente a lacuna que o OIDC veio preencher.

O problema que ele resolve é o antipadrão da senha. Antes dele, permitir que um serviço acessasse seus dados em outro significava entregar suas credenciais, concedendo acesso ilimitado e irrevogável. O OAuth substituiu isso por tokens com escopo e prazo, emitidos depois que você aprova um pedido específico, de modo que a aplicação ganha permissão para ler sua agenda, e não as chaves da sua conta.

A complexidade que derruba as pessoas é que o OAuth é um arcabouço de vários fluxos, e escolher errado é uma decisão de segurança, não uma preferência de estilo. Código de autorização com PKCE é o padrão moderno para aplicações interativas; credenciais de cliente serve para máquina a máquina sem usuário presente; o fluxo implícito está obsoleto porque devolver tokens no fragmento da URL os vazava para logs e histórico do navegador. A maioria das vulnerabilidades de OAuth não são falhas da especificação, e sim o fluxo errado usado com confiança.

Também conhecido como: oauth, oauth2, oidc, openid connect, authorization code

Todos os verbetes do glossário