Pplware

O que é o OAuth? Saiba como este protocolo o ajuda no online

Ter que criar contas para novos serviços é um processo chato e demorado. Então porque não utilizar as credenciais, por exemplo, do seu perfil das redes sociais? É isso que o protocolo OAuth permite fazer.


O OAuth (Open Authorization) é um protocolo de Autorização (e não de autenticação), que permite que aplicações de terceiros acedam a recursos de um utilizador num determinado serviço​. Este protocolo é Usado por vários serviços na internet, que permitem/integram na autenticação contas da Google, Facebook, Twitter, entre outros.

Por exemplo, quando se autentica numa app ou site com as credenciais do Facebook, está a dar autorização para acesso aos seus dados​. OAuth 2.0 é a versão mais atual​.

Componentes do OAuth

Exemplo de funcionamento do OAuth

Vamos considerar que utilizador está a aceder a uma aplicação Web e esta tem integrada autenticação de uma rede social. Para tal são realizados os passos seguintes.

  1. Utilizador solicita recursos numa App​
  2. App pede autorização​
  3. Utilizador introduz credenciais​
  4. App passa credenciais para o Servidor de Autorização (usando chaves do OAuth)​
  5. Se validadas as credenciais, Servidor de Autorização devolve Access Token​
  6. App envia Access Token para o Servidor de Recursos​
  7. Servidor de Recursos disponibiliza recursos solicitados​
  8. App disponibiliza informação ao utilizador

O OAuth utiliza vários tipos de Token. Cada tipo de token tem um papel específico e é usado em diferentes fases do fluxo OAuth. Dois dos tipos de Token mais usados são o Access Token (Token de Acesso)​ e Refresh Token (Token de Renovação).

O Access Token é o principal token utilizado em OAuth para aceder a recursos protegidos. Quando uma aplicação recebe um Access Token, pode usá-lo para fazer pedidos a uma API em nome do utilizador.​ O Refresh Token é utilizado para obter um novo Access Token sem que o utilizador precise de se autenticar novamente​.

Relativamente aos tipos de fluxo, também denominados de “authorization flows” são a forma como o Cliente recebe o Access Token do Servidor de Autorização​. Há quatro tipos de fluxo:

Relativamente às vantagens de usar este protocolo, destaque para a segurança, pois as credenciais de acesso não são partilhadas com aplicações de terceiros​. Controlo, pois o utilizador pode controlar quais os recursos a que a aplicação tem acesso e revogar o acesso a qualquer momento e também a flexibilidade, pois permite integrações entre diferentes plataformas e serviços de forma segura.

Exit mobile version