OAuth é um padrão de autorização aberto usado para fornecer acesso seguro do aplicativo cliente aos recursos do servidor. A estrutura de autorização OAuth permite que um aplicativo de terceiros obtenha acesso limitado a um serviço HTTP, seja em nome de um proprietário de recurso ou permitindo que o aplicativo de terceiros obtenha acesso em seu próprio nome.
OAuth permite que os proprietários do servidor autorizem o acesso aos recursos do servidor sem compartilhar credenciais. Isso significa que o usuário pode conceder acesso a recursos privados de um servidor para outro recurso de servidor sem compartilhar sua identidade.
OAuth resolve problemas tradicionais de autenticação cliente-servidor
OAuth foi projetado para problemas e limitações encontrados no modelo de autenticação cliente-servidor tradicional, onde aplicativos de terceiros são obrigados a armazenar as credenciais do proprietário do recurso para uso futuro e onde os proprietários do recurso não podem revogar o acesso a um terceiro individual sem revogar o acesso a todos os terceiros .
O OAuth soluciona esses problemas introduzindo uma camada de autorização e separando a função do cliente da função do proprietário do recurso. Em vez de usar as credenciais do proprietário do recurso para acessar recursos protegidos, o cliente obtém um token de acesso, emitido para clientes de terceiros por um servidor de autorização com a aprovação do proprietário do recurso.
O protocolo OAuth
O protocolo OAuth 1.0 (RFC5849), publicado como um documento informativo, foi o resultado de um pequeno esforço ad hoc da comunidade. O protocolo OAuth 2.0 não é compatível com versões anteriores do OAuth 1.0.
Falhas de segurança OAuth
Em maio de 2014, uma falha de segurança foi descoberta nos mecanismos de autenticação de sites OAuth e OpenID amplamente usados. A falha não estava no OAuth 2, mas era resultado de como algumas empresas implementaram os padrões, principalmente em situações em que redirecionamentos abertos eram usados. Após a notícia da falha de segurança, o Google disse que será mais rigoroso na proteção dos usuários quando eles acessarem suas contas, aplicando verificações de autorização adicionais.