Saltar para o conteúdo

OAuth

Origem: Wikipédia, a enciclopédia livre.
OAuth

Logotipo desenhado por Chris Messina
Características
Classificação padrão aberto
protocolo de autenticação Edit this on Wikidata
Uso autorização Edit this on Wikidata
Fonte OAuth Demystified for Mobile Application Developers
Commons OAuth
Composto de OAuth 1
OAuth 2
Trabalha com HTTP header field
página oficial
Diferente de Iniciativa para autenticação aberta Edit this on Wikidata
Localização
[ Editar Wikidata ] [ Mídias no Commons ]
[ Editar infocaixa ]


OAuth (Open-Authorization) é um padrão aberto de delegação de autorização/autenticação, comumente utilizado para permitir que os usuários da Internet possam fazer login em sites de terceiros usando contas de um provedor de identidade, como Google, Facebook, Microsoft, Twitter (prinicpalmente sites de rede social e e-mail), etc.—mas, sem expor credenciais de autenticação, como senhas.[1] Geralmente, o OAuth fornece aos clientes um "acesso seguro delegado" aos recursos do servidor em nome do proprietário do recurso. Ele especifica um processo para proprietários de recursos para autorizar o acesso de terceiros aos seus recursos de servidor sem compartilhar suas credenciais. Projetado especificamente para trabalhar com o HTTP, o OAuth permite essencialmente tokens de acesso a ser emitidos para clientes de terceiros, mediante autorização do servidor, com a aprovação do proprietário do recurso. O terceiro, em seguida, usa o token de acesso para recursos protegidos hospedados pelo servidor.[2]

O OAuth é um serviço complementar e diferente do OpenID e, também do OATH que é uma arquitetura de referência para autenticação, e não uma norma para autorização. No entanto, o OAuth está diretamente relacionada com o OpenID Connect (OIDC) pois OIDC é uma camada de autenticação construída em cima do OAuth 2.0. OAuth é também distinto do XACML, que é a política de autorização padrão. OAuth pode ser usado em conjunto com XACML onde OAuth é utilizado para a transferência de propriedade de consentimento e de acesso delegação considerando que XACML é usado para definir as diretivas de autorização (por exemplo, os gestores podem visualizar os documentos em sua região).

O OAuth 2.0 não é compatível com o OAuth 1.0 pois a versão 2.0 fornece fluxos de autorização específicos para aplicações web, aplicações desktop, celulares e dispositivos de sala de estar. A especificação e RFCs associados são desenvolvidos pelo IETF OAuth WG;[3] o principal framework foi publicado em outubro de 2012.

A Graph API do Facebook suporta apenas OAuth 2.0.[4] O Google oferece suporte a esta versão como o mecanismo de autenticação recomendado para todas as suas API.[5] A partir de 2011, a Microsoft[6] também adicionou experimentalmente o suporte à versão 2.0 nas API.

O OAuth 2.0 Framework[2] e o Bearer Token[7] foram publicados em outubro de 2012.

Começa em Novembro de 2006, quando Blaine Cook trabalhava na implementação de segurança para o Twitter. Juntamente com outros desenvolvedores, Cook percebeu que não havia um padrão aberto para a delegação de acesso à APIs. Um grupo de discussão foi criado para o planejamento de um protocolo aberto. Recebeu interesse do Google.

Em 4 de Dezembro de 2007, OAuth 1.0 foi lançado [RFC 5849].

Em Outubro de 2012, OAuth 2.0 foi publicado [RFC 6749].

Funcionamento

[editar | editar código-fonte]

Dono do Recurso (Resource Owner): uma entidade capaz de conceder acesso à um recurso protegido (pode ser o usuário final).

Servidor do Recurso (Resource Server): o servidor que hospeda os recursos protegidos. O acesso a ele é feito através de tokens.

Cliente (Client): uma aplicação requisitando recursos protegidos, através da autorização do dono.

Servidor de Autorização (Authorization Server): servidor que emite tokens de acesso ao cliente, depois de sua autenticação e obtenção de autorização.

  1. Gordon, Whitson. «Understanding OAuth: What Happens When You Log Into a Site with Google, Twitter, or Facebook». Lifehacker (em inglês) 
  2. a b <dick.hardt@gmail.com>, Dick Hardt. «The OAuth 2.0 Authorization Framework». tools.ietf.org (em inglês). Consultado em 5 de outubro de 2017 
  3. «Web Authorization Protocol (oauth) - Documents». datatracker.ietf.org (em inglês). Consultado em 5 de outubro de 2017 
  4. «Login do Facebook - Documentação - Facebook for Developers». Facebook for Developers (em inglês) 
  5. «Google Identity Platform  |  Google Developers». Google Developers (em inglês). Consultado em 5 de outubro de 2017 
  6. «Windows Blog». Windows Blog (em inglês). Consultado em 5 de outubro de 2017 
  7. Dick, Hardt,; Michael, Jones,. «The OAuth 2.0 Authorization Framework: Bearer Token Usage». tools.ietf.org (em inglês). Consultado em 5 de outubro de 2017