Buscar

OAuth 2.0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

OAuth 2.0
Introdução
- É um protocolo de autorização para API's web.
- Permite uma aplicação utilizar recursos de outras, sem 
precisar expor suas credenciais.
Introdução
Por que usar?
● Segurança
○ Aplicações que desejam consumir recursos de terceiros 
ganhariam um acesso muito amplo aos recursos.
○ A granularidade da concessão de acesso seria de total 
responsabilidade da aplicação disponibilizadora de recursos.
- Client: A aplicação que solicita acesso aos recursos protegidos 
do Resource Owner.
- Authorization Server: Servidor que gera tokens de acesso, 
permite que o Client acesse os recursos que o Resource 
Owner permitiu, com o nível de acesso que o Resource 
Owner especificou.
Papéis(Roles)
- Resource Owner: A entidade capaz de controlar o acesso aos 
recursos protegidos. Como o nome diz, é o “dono do recurso”.
- Resource Server: Servidor que hospeda os recursos a serem 
acessados. É quem recebe as requisições e quem expõe a API 
que queremos acessar.
Papéis(Roles)
Papéis(Roles)
1. O Client pede autorização ao Resource Owner para acessar seus recursos.
2. Assumindo que o Resource Owner autorize o acesso, o Client recebe um 
authorization grant(garantia de autorização). Essa credencial representa a 
autorização concedida pelo Resource Owner.
Fluxo de Autorização
3. O Client pede um access token ao Authorization Server, enviando o 
authorization grant.
4. Assumindo que o Client foi autorizado com sucesso e que o authorization 
grant é válido, o Authorization Server gera um access token e o envia ao 
Client.
Fluxo de Autorização
5. O Client pede acesso a um recurso protegido pelo Resource Server, e se 
autentica utilizando o access token.
6. Assumindo que o access token seja válido, o Resource Server responde à 
requisição do Client servindo o recurso solicitado.
Fluxo de Autorização
- Authorization Code: Utilizados por aplicações web que 
executam em servidores, principalmente quando queremos 
obter recursos de usuários de aplicações de terceiros, login 
com Google ou Facebook por exemplo.
- Implicit: Utilizado por SPAs (single page applications) que 
executam em browsers onde o cliente recebe diretamente o 
token de acesso.
Tipos de autorização
- Resource Owner Password Credentials: Utilizado por 
trusted apps (aplicativos confiáveis). Aplicativos podem ser 
considerados trusted apps por quem define as restrições de 
acesso do Resource Owner.
- Client Credentials: Utilizado em comunicações do tipo 
“machine to machine”, deixando de ser necessário que o 
usuário forneça informações de acesso.
Tipos de autorização
https://oauthtest.000webhostapp.com/
https://AUTH_DOMAIN.com/auth
?response_type=code
&audience=API_AUDIENCE
&client_id=CLIENT_ID
&redirect_uri=REDIRECT_URI
&scope=PHOTOS
Exemplo com Authorization Code
Exemplo com Authorization Code
response_type=code Aplicação espera receber um 
Authorization Code.
audience Identificador único da API que seu 
aplicativo deseja acessar.
client_id ID da aplicação no domínio requisitado.
redirect_uri URI para onde o usuário será 
redirecionado após concluir a 
autenticação com sucesso.
scope Define quais recursos do usuário deseja 
obter acesso.
● https://developers.google.com/identity/protocols/OAuth2
● https://developers.google.com/oauthplayground/
● https://developers.google.com/api-client-library/
● https://developers.google.com/adwords/api/docs/guides/authentication?hl=pt-br
● https://developer.twitter.com/en/docs/basics/authentication/api-reference/token
Referências
Fábio Preisler
Larissa Taw
Raphael Martins
Thiago Mohr

Outros materiais