O que é OAuth? | SAML X OAuth

OAuth é um protocolo para estender a autorização do usuário a vários aplicativos, sem compartilhar os dados de autenticação de identidade do usuário com esses aplicativos.

Objetivos de aprendizado

Após ler este artigo, você será capaz de:

  • Saiba o que é OAuth e como ele funciona
  • Explore a diferença entre autenticação e autorização
  • Compare SAML com OAuth

Conteúdo relacionado


Quer saber mais?

Assine o theNET, uma recapitulação mensal feita pela Cloudflare dos insights mais populares da internet.

Consulte a política de privacidade da Cloudflare para saber como coletamos e processamos seus dados pessoais.

Copiar o link do artigo

O que é OAuth?

OAuth é um padrão técnico para autorizar usuários. É um protocolo para passar a autorização de um serviço para outro sem compartilhar as credenciais reais do usuário, como nome de usuário e senha. Com o OAuth, um usuário pode entrar em uma plataforma e, em seguida, ser autorizado a executar ações e visualizar dados em outra plataforma.

O OAuth torna possível passar a autorização de um aplicativo para outro, independentemente de quais sejam os dois aplicativos. O OAuth é um dos métodos mais comuns usados para passar a autorização de um serviço de logon único (SSO) para outro aplicativo em nuvem, mas pode ser usado entre dois aplicativos quaisquer. Outros protocolos também podem executar essa função, embora o OAuth seja um dos mais usados. Outros protocolos também podem executar essa função, embora o OAuth seja um dos mais amplamente usados.

Imagine que um visitante chega a uma casa quando o dono da casa não está lá e, em vez de enviar ao visitante uma chave de casa real, o dono envia a ele um código temporário para entrar em um cofre que contém a chave. OAuth funciona de maneira semelhante. No OAuth, um aplicativo envia a outro aplicativo um token de autorização para fornecer acesso a um usuário, em vez de enviar as credenciais do usuário.

Como funcionam os tokens de autorização do OAuth?

Suponha que Alice queira acessar o aplicativo de armazenamento de arquivos em nuvem de sua empresa. Ela já entrou no SSO de sua empresa, mas ainda não acessou o aplicativo de armazenamento de arquivos naquele dia. Quando ela abre o aplicativo de armazenamento de arquivos, em vez de simplesmente deixá-la entrar, o aplicativo solicita autorização para a Alice de seu SSO.

Em resposta, o SSO envia um token de autorização OAuth para o aplicativo. O token contém informações sobre os privilégios que a Alice deve ter dentro do aplicativo. O token também terá um limite de tempo: após um certo período de tempo, o token expira e Alice terá que se conectar novamente com seu SSO.

Os tokens OAuth são normalmente enviados usando HTTPS, o que significa que são criptografados. Eles são enviados na camada 7 do modelo OSI.

Para que o OAuth é usado?

OAuth pode ser usado tanto para autorizar usuários como para permitir o acesso parcial de um aplicativo a outro aplicativo. Um caso de uso que os usuários frequentemente encontram é permitir que um aplicativo acesse uma plataforma de rede social ou outra conta on-line. As contas de usuário do Google podem se integrar com muitos aplicativos diferentes do consumidor, tais como plataformas de blogs, sites de notícias e vários jogos on-line. Nesses casos, o protocolo OAuth é usado nos bastidores para permitir que esses aplicativos externos acessem os dados necessários a partir do Google.

Para empresas, o caso de uso mais comum para OAuth é em conjunto com o sistema de gerenciamento de identidade e acesso (IAM). Os usuários podem ser autorizados a usar o aplicativo via OAuth. Por exemplo, um funcionário pode entrar no sistema SSO de sua empresa com seu nome de usuário e senha. Este sistema SSO dá a ele acesso a todos os aplicativos de que precisa para realizar seus trabalhos e o sistema SSO faz isso passando tokens de autorização OAuth para esses aplicativos.

OAuth é um dos vários protocolos de autorização que estão em uso hoje. Esses protocolos de autorização são necessários porque deve haver alguma maneira de enviar informações de autorização entre aplicativos sem expor os dados de login do usuário. Algumas plataformas desenvolveram seus próprios métodos de autorização: por exemplo, o Facebook oferece o Facebook Connect.

O que é o OAuth 2.0?

O OAuth 2.0 é a versão mais recente do OAuth. A primeira versão do OAuth foi publicada em 2010. OAuth 2.0 foi publicado em 2012 e corrigiu uma série de vulnerabilidades que estavam presentes no OAuth 1.0.

SAML X OAuth: Qual é a diferença entre autenticação e autorização?

Autorização e autenticação parecem semelhantes, mas não são exatamente a mesma coisa no gerenciamento de acesso e a diferença entre elas é muito importante para entender como a tecnologia de gerenciamento de acesso (incluindo o OAuth) funciona. A autenticação tem a ver com a identidade do usuário, enquanto a autorização tem a ver com os privilégios do usuário.

Imagine Bob, que trabalha em uma instalação segura com uma guarita na frente. Todos os veículos que entram na instalação param na guarita e apenas funcionários conhecidos podem entrar. A guarita é onde ocorre a autenticação do usuário: os seguranças verificam o cartão de identificação do Bob em uma lista de funcionários e verificam a placa do veículo em uma lista de veículos permitidos. Se eles conseguirem autenticá-lo e ao seu veículo, ele poderá entrar e estacionar no estacionamento das instalações.

No entanto, só porque o Bob pode dirigir até as instalações, isso não significa que ele pode estacionar o veículo onde quiser. Em vez disso, existem estacionamentos designados para cada tipo de funcionário. O Bob só pode estacionar no local designado; ele não pode ocupar o lugar do CEO no estacionamento.

O OAuth é um protocolo de autorização: ele garante que o Bob vá ao estacionamento certo. Em contraste, Linguagem de marcação para asserção de segurança (SAML) é um protocolo para autenticação ou que permite que o Bob passe pela guarita.

Um provedor de identidade (IdP) ou o serviço de SSO podem usar ambos em conjunto ou apenas o OAuth (embora o uso do OAuth para autenticação seja considerado uma "pseudoautenticação").

Para resumir: SAML e OAuth são protocolos diferentes e são usados para finalidades diferentes, mas ambos são frequentemente usados com SSO.

A Cloudflare oferece autenticação ou autorização do usuário?

No momento, o Cloudflare Zero Trust não oferece autenticação de usuário, um serviço de SSO, por exemplo, mas permite que as organizações gerenciem o acesso e os privilégios de usuários.A Cloudflare torna possível gerenciar a autorização de usuários sem o uso de uma rede privada virtual (VPN).

O Cloudflare Zero Trust se integra a uma variedade de provedores de SSO e pode até mesmo se integrar a vários SSOs, tornando mais fácil fornecer acesso aos sistemas às agências e provedores de serviços externos. Leia uma postagem do blog sobre multi-SSO com a Cloudflare para saber mais.