08 de março de 2023
O que é OAuth? O que seu protocolo fornece?
Um dos aspectos críticos da segurança da informação é poder proporcionar uma experiência de acesso sem interrupções e de login único (SSO) entre vários dispositivos. Graças ao desenvolvimento constante de novas ferramentas, hoje é possível acessar milhares de sites completamente não relacionados utilizando um login físico único. E neste campo, OAuth é um dos grandes protagonistas.
O que é Open Authorization?
Quando falamos de OAuth (Open Authorization), estamos nos referindo a uma solução de gerenciamento de identidade e acesso (IAM). Seu objetivo é conceder autorizações aos usuários. Trata-se de um protocolo para transferir 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 essa ferramenta, um usuário pode fazer login em uma plataforma e, em seguida, estar autorizado a realizar ações e visualizar dados em outra plataforma. Ou seja, permite o login único (SSO).
Embora seja verdade que o OAuth é um dos métodos mais comuns utilizados para passar a autorização de um serviço de login único para outro aplicativo na nuvem, ele também pode servir para realizar as mesmas funções entre aplicativos.
De onde surge?
Já faz algum tempo que o setor tecnológico tem tentado resolver o dilema da autorização da forma mais eficiente. Assim, em 2006, Blaine Cook, na época desenvolvedor principal no Twitter, tentou encontrar uma solução enquanto trabalhava na implementação do OpenID. Mas os resultados não foram satisfatórios, já que o OpenID não proporcionou a delegação do acesso à API. Naquele momento, Cook se juntou a outros implementadores para escrever uma proposta para um protocolo aberto. O resultado foi o desenvolvimento do padrão OAuth. O resultado foi publicado pela Internet Engineering Task Force (IETF) em 2010 (Versão 1.0) e atualizado em 2012 (Versão 2.0).
Aos poucos, o OAuth começou a ganhar popularidade, a ponto de hoje em dia, poder trabalhar com plataformas tão importantes como Amazon, Facebook, Instagram, LinkedIn, Microsoft, Netflix, Paypal, entre muitos outros.
Como funciona Oauth? O que o seu token de acesso oferece?
O primeiro passo é que o usuário inicie a sessão em um site ou serviço (lembremos que OAuth só funciona com HTTPS). O processo de autorização do OAuth começa com um usuário final (Proprietário de recursos) que especifica que deseja fornecer um aplicativo cliente (Cliente) com acesso a dados em um aplicativo de terceiros (Servidor de recursos). O aplicativo cliente redireciona esta solicitação para um Servidor de autorização fornecido pelo aplicativo de terceiros, que autentica o usuário final solicitante. O Servidor de Autorizações autoriza o aplicativo do cliente e o Proprietário do recurso e redireciona o usuário para o aplicativo do cliente com um código de acesso de uso único.
O código de acesso de uso único é enviado de volta ao Servidor de autorização, que então o converte em um token de acesso que o usuário final pode usar para acessar o servidor. Ao mesmo tempo, o AS também pode devolver um token de atualização, o que permitirá ao usuário final utilizar o mesmo OAuth para acessar mais de uma vez.
Essencialmente, o token de acesso permite a um usuário chamar a API. Em troca, a API obtém acesso às informações sobre o cliente e o proprietário do recurso e qual caminho tomaram, qual cliente estão utilizando e quem é o usuário final.
Relacionado ao OAuth, não podemos deixar de mencionar o OKTA, um sistema de gestão de identidades, que facilita sua implementação em nossos aplicativos e projetos web. E é que, conforme indicado pela OKTA, eles tomaram a decisão de implementar OAuth 2.0 para estender a autenticação, autorização e administração de usuários às suas APIs, cobrindo todas as suas telas em todos os seus dispositivos.
O que é OAuth 2.0?
OAuth 2.0, uma versão simplificada e aprimorada do OAuth original, é um protocolo de acesso que permite que um usuário autorize um aplicativo ou serviço a agir em seu nome sem compartilhar suas credenciais de usuário.
Defina 4 papéis principais: o proprietário do recurso, o servidor de recursos, o cliente e o servidor de autorização. Através da interação entre esses papéis, OAuth 2.0 permite que os usuários controlem o acesso a diferentes recursos de maneira segura e autorizada.
OAuth, como uma solução CIAM (Customer Identity and Access Management), pode ser usado tanto para autorizar os usuários quanto para permitir o acesso parcial de um aplicativo a outro aplicativo. Um caso de uso que os usuários costumam encontrar é permitir que um aplicativo acesse uma plataforma de redes sociais ou outra conta online. As contas de usuário do Google podem ser integradas com muitos aplicativos diferentes para o consumidor, como plataformas de blogs, sites de notícias e vários jogos online. Nesses casos, o protocolo OAuth é usado nos bastidores para permitir que esses aplicativos externos acessem os dados necessários do Google.
Para as empresas, o caso de uso mais comum para OAuth é em conjunto com os sistemas de gestão de identidade e acesso (IAM). Os usuários podem ser autorizados para o uso do aplicativo através do OAuth. Por exemplo, um funcionário pode fazer login no sistema SSO de sua empresa com seu nome de usuário e senha. Este sistema SSO lhes dá acesso a todos os aplicativos que precisam para fazer seu trabalho, e o sistema SSO faz isso passando tokens de autorização OAuth para esses aplicativos.
Um protocolo como OAuth é necessário porque deve haver alguma forma de enviar informações de autorização entre aplicativos sem expor os dados de login do usuário.
É preciso ter em mente que, embora OAuth às vezes seja confundido como um método de autenticação, não se trata de um IDaaS e, consequentemente, não deve ser usado para autenticar usuários, como por exemplo pode ser feito com OKTA.
Em conclusão
Em resumo, estamos diante de uma ferramenta muito flexível, fácil de implementar e que, graças à sua capacidade de compartilhar dados para os usuários sem ter que divulgar informações pessoais, proporciona um extra de segurança nos processos de autenticação.
OAuth, como uma solução CIAM (Customer Identity and Access Management), pode ser usado tanto para autorizar os usuários quanto para permitir o acesso parcial de um aplicativo a outro aplicativo. Um caso de uso que os usuários costumam encontrar é permitir que um aplicativo acesse uma plataforma de redes sociais ou outra conta online. As contas de usuário do Google podem ser integradas com muitos aplicativos diferentes para o consumidor, como plataformas de blogs, sites de notícias e vários jogos online. Nesses casos, o protocolo OAuth é usado nos bastidores para permitir que esses aplicativos externos acessem os dados necessários do Google.
Para as empresas, o caso de uso mais comum para OAuth é em conjunto com os sistemas de gestão de identidade e acesso (IAM). Os usuários podem ser autorizados para o uso do aplicativo através do OAuth. Por exemplo, um funcionário pode fazer login no sistema SSO de sua empresa com seu nome de usuário e senha. Este sistema SSO lhes dá acesso a todos os aplicativos que precisam para fazer seu trabalho, e o sistema SSO faz isso passando tokens de autorização OAuth para esses aplicativos.
Um protocolo como OAuth é necessário porque deve haver alguma forma de enviar informações de autorização entre aplicativos sem expor os dados de login do usuário.
É preciso ter em mente que, embora OAuth às vezes seja confundido como um método de autenticação, não se trata de um IDaaS e, consequentemente, não deve ser usado para autenticar usuários, como por exemplo pode ser feito com OKTA.
Em conclusão
Em resumo, estamos diante de uma ferramenta muito flexível, fácil de implementar e que, graças à sua capacidade de compartilhar dados para os usuários sem ter que divulgar informações pessoais, proporciona um extra de segurança nos processos de autenticação.
Share
Talvez você possa se interessar
O que é a Internet das Coisas (IoT)?
A Internet das Coisas – em inglês Internet of Things (daqui surgem as conhecidas siglas IoT) – é um termo cada vez mais presente em nossa vida cotidiana. A cada dia que passa é mais comum ouvir sobre novos dispositivos que podem tornar nossa vida em casa e no trabalho muito mais fácil, graças às múltiplas possibilidades que suas aplicações nos oferecem.
O que é e para que serve o Salesforce? Quais são as características do CRM nº1?
Mais de 150.000 empresas de todos os tipos e tamanhos trabalham com a tecnologia Salesforce. Graças à sua gama cada vez mais ampla de produtos, os números demonstram uma clara tendência de crescimento.
Salesforce Certificações: Guia, Exames e Oportunidades de Trabalho
Salesforce ocupa o primeiro lugar entre os produtos de gestão de relacionamento com clientes (CRM). É a sua versatilidade que torna esta ferramenta adequada para qualquer tipo de empresa, independentemente do seu tamanho e do setor ao qual pertença.