OAuth
OAuth | |
---|---|
Logotipo desenhado por Chris Messina | |
Características | |
Classificação | padrão aberto protocolo de autenticação |
Uso | autorização |
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 |
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).
Versão 2.0
[editar | editar código-fonte]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.
História
[editar | editar código-fonte]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.
Referências
[editar | editar código-fonte]- ↑ Gordon, Whitson. «Understanding OAuth: What Happens When You Log Into a Site with Google, Twitter, or Facebook». Lifehacker (em inglês)
- ↑ 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
- ↑ «Web Authorization Protocol (oauth) - Documents». datatracker.ietf.org (em inglês). Consultado em 5 de outubro de 2017
- ↑ «Login do Facebook - Documentação - Facebook for Developers». Facebook for Developers (em inglês)
- ↑ «Google Identity Platform | Google Developers». Google Developers (em inglês). Consultado em 5 de outubro de 2017
- ↑ «Windows Blog». Windows Blog (em inglês). Consultado em 5 de outubro de 2017
- ↑ 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