AdWords API Workshops – All rights reserved
OAuth 2.0
Cristiano Breuel, Google, Inc.

AdWords API Workshops – All rights reserved
Agenda
1. O que é OAuth 2.0?

1
2

2. Preparação
3. Obtendo um Access Token

3

4. Detalhes do fluxo OAuth 2.0
5. Melhores...
O que é OAuth 2.0?

AdWords API Workshops – All rights reserved
O que é OAuth 2.0?
● Autorização para a API do AdWords
● Seguro
● Simples
● Padronizado

AdWords API Workshops – All right...
A segurança do OAuth2
● Sem Nomes de usuário ou Senhas
● Só Tokens

● Controle de acesso Específico
● Escopo restrito
● Fá...
A simplicidade do OAuth2

Obter Acesso
Pedir aprovação

Interagir com a API do AdWords

AdWords API Workshops – All rights...
O padrão do OAuth2
● Você já viu essa janela?
● Consentimento do Usuário
●

Aceitar

●

Cancelar

AdWords API Workshops – ...
O Fluxo OAuth2
Conceder Accesso
1) Construir URL

3) Troca de Código

Sua Aplicação

2) Aceitar Consentimento
Usuário da M...
Acesso inclui 2 Tokens
● access_token

● refresh_token

● Para fazer requisições

● Atualiza o access_token

● Tempo de vi...
Acesso inclui 2 Tokens
● access_token

● refresh_token

● Para fazer requisições

● Atualiza o access_token

● Tempo de vi...
Acesso inclui 2 Tokens
● access_token

● refresh_token

● Para fazer requisições

● Atualiza o access_token

● Tempo de vi...
Preparação

AdWords API Workshops – All rights reserved
Registre sua aplicação
http://code.google.com/apis/console
● Obtenha uma identificação da aplicação
● client_id
● client_s...
Crie um novo projeto na Google API
Console

AdWords API Workshops – All rights reserved
Crie um client ID OAuth 2.0

AdWords API Workshops – All rights reserved
Servidor web ou aplicação instalada?
Escolha Aplicação Instalada a menos que você tenha
várias contas de clientes que prec...
Escolha seu tipo de aplicação

Aplicação Instalada
AdWords API Workshops – All rights reserved
Agora, você tem um client_id e client_secret

AdWords API Workshops – All rights reserved
Obtendo Acesso
access_token & refresh_token

AdWords API Workshops – All rights reserved
Para que serve o Token de Acesso?

Obter Acesso & Renovar Tokens
Obter aprovação

AdWords API Workshops – All rights reser...
Com ou sem Client Libraries
● Com Client Libraries
● Sem Client Libraries

AdWords API Workshops – All rights reserved
Client Libraries podem ajudar
● Verifique os detalhes da sua library!
● Exemplo:
● Executar script
● Autorizar aplicação
●...
Como obter um Token de Acesso
1. Construir URL
2. Obter Consentimento
3. Receber Código de Autorização
4. Trocar Código po...
1. Construir uma URL
https://accounts.google.com/o/oauth2/auth?
access_type=offline&
scope=https://adwords.google.com/api/...
2. Obter Consentimento
● Enviar Usuário
● Aceitar permissões

AdWords API Workshops – All rights reserved
3. Receber Código de Autorização

> Enter authorization code here:
4/v6xr77ewYqhvHSyW6UJ1w7jKwAzu

AdWords API Workshops –...
4. Trocar Código por Token
HTML

POST /o/oauth2/token HTTP/1.1
Host: accounts.google.com
Content-Type: application/x-www-f...
5. Armazenar Credenciais
{
"access_token" : "yaxx.xxxxxxxxxxxx",
"token_type" : "Bearer",
"expires_in" : 3600,
"refresh_to...
Tipos de Fluxos OAuth 2.0

AdWords API Workshops – All rights reserved
Fluxos OAuth 2.0 Suportados pelo Google
O Google suporta cenários OAuth 2.0 comuns
● Aplicações Instaladas
● Aplicações em...
Diferenças entre fluxos
Registro no
Usar código de Client
Console de API Autenticação
Secret

Renovação Redirecionamento
d...
Melhores Práticas

AdWords API Workshops – All rights reserved
Melhores Práticas
● Use tipo de acesso offline para obter um
refresh_token

● Armazene o refresh_token para obter um novo
...
Armazenamento & Compartilhamento
● Armazene os Tokens de Acesso
● Armazene o timestamp e o tempo de validade do token de
a...
Informações Úteis sobre Erros
● AuthenticationError.OAUTH_TOKEN_INVALID
○ Quando: Token de Accesso expirado
○ Solução: obt...
Apêndice

AdWords API Workshops – All rights reserved
Recursos

AdWords API Workshops – All rights reserved
Resources

Links:
https://developers.google.com/accounts/docs/OAuth2
https://developers.google.com/accounts/docs/OAuth2Web...
Perguntas?

AdWords API Workshops – All rights reserved
AdWords API Workshops – All rights reserved
Offline ou Online?
Escolha acesso offline quando suas aplicações
funcionam sem interação com o usuário
Acesso offline é bo...
Upcoming SlideShare
Loading in …5
×

OAuth 2.0 refresher

566 views

Published on

São Paulo AdWords API Workshops

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
566
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

OAuth 2.0 refresher

  1. 1. AdWords API Workshops – All rights reserved
  2. 2. OAuth 2.0 Cristiano Breuel, Google, Inc. AdWords API Workshops – All rights reserved
  3. 3. Agenda 1. O que é OAuth 2.0? 1 2 2. Preparação 3. Obtendo um Access Token 3 4. Detalhes do fluxo OAuth 2.0 5. Melhores Práticas AdWords API Workshops – All rights reserved 4 5
  4. 4. O que é OAuth 2.0? AdWords API Workshops – All rights reserved
  5. 5. O que é OAuth 2.0? ● Autorização para a API do AdWords ● Seguro ● Simples ● Padronizado AdWords API Workshops – All rights reserved
  6. 6. A segurança do OAuth2 ● Sem Nomes de usuário ou Senhas ● Só Tokens ● Controle de acesso Específico ● Escopo restrito ● Fácil de revogar AdWords API Workshops – All rights reserved
  7. 7. A simplicidade do OAuth2 Obter Acesso Pedir aprovação Interagir com a API do AdWords AdWords API Workshops – All rights reserved
  8. 8. O padrão do OAuth2 ● Você já viu essa janela? ● Consentimento do Usuário ● Aceitar ● Cancelar AdWords API Workshops – All rights reserved
  9. 9. O Fluxo OAuth2 Conceder Accesso 1) Construir URL 3) Troca de Código Sua Aplicação 2) Aceitar Consentimento Usuário da MCC Servidores OAuth2 A API do AdWords Servidores do Google AdWords API Workshops – All rights reserved Interagir com a API do AdWords 4) Fazer Requisição 5) Renovar Accesso
  10. 10. Acesso inclui 2 Tokens ● access_token ● refresh_token ● Para fazer requisições ● Atualiza o access_token ● Tempo de vida 60 minutos ● Tempo de vida indefinido ● Armazene! AdWords API Workshops – All rights reserved
  11. 11. Acesso inclui 2 Tokens ● access_token ● refresh_token ● Para fazer requisições ● Atualiza o access_token ● Tempo de vida 60 minutos ● Tempo de vida indefinido ● Armazene! AdWords API Workshops – All rights reserved
  12. 12. Acesso inclui 2 Tokens ● access_token ● refresh_token ● Para fazer requisições ● Atualiza o access_token ● Tempo de vida 60 minutos ● Tempo de vida indefinido ● Armazene! AdWords API Workshops – All rights reserved
  13. 13. Preparação AdWords API Workshops – All rights reserved
  14. 14. Registre sua aplicação http://code.google.com/apis/console ● Obtenha uma identificação da aplicação ● client_id ● client_secret AdWords API Workshops – All rights reserved
  15. 15. Crie um novo projeto na Google API Console AdWords API Workshops – All rights reserved
  16. 16. Crie um client ID OAuth 2.0 AdWords API Workshops – All rights reserved
  17. 17. Servidor web ou aplicação instalada? Escolha Aplicação Instalada a menos que você tenha várias contas de clientes que precisam de autorização. Escolha Aplicação em Servidor Web quando usar várias contas autorizadas separadamente. AdWords API Workshops – All rights reserved
  18. 18. Escolha seu tipo de aplicação Aplicação Instalada AdWords API Workshops – All rights reserved
  19. 19. Agora, você tem um client_id e client_secret AdWords API Workshops – All rights reserved
  20. 20. Obtendo Acesso access_token & refresh_token AdWords API Workshops – All rights reserved
  21. 21. Para que serve o Token de Acesso? Obter Acesso & Renovar Tokens Obter aprovação AdWords API Workshops – All rights reserved
  22. 22. Com ou sem Client Libraries ● Com Client Libraries ● Sem Client Libraries AdWords API Workshops – All rights reserved
  23. 23. Client Libraries podem ajudar ● Verifique os detalhes da sua library! ● Exemplo: ● Executar script ● Autorizar aplicação ● Adicionar refresh_token à configuração AdWords API Workshops – All rights reserved
  24. 24. Como obter um Token de Acesso 1. Construir URL 2. Obter Consentimento 3. Receber Código de Autorização 4. Trocar Código por Token 5. Armazenar Credenciais AdWords API Workshops – All rights reserved
  25. 25. 1. Construir uma URL https://accounts.google.com/o/oauth2/auth? access_type=offline& scope=https://adwords.google.com/api/adwords& redirect_uri=urn:ietf:wg:oauth:2.0:oob& response_type=code& client_id=xxxxxxx.apps.googleusercontent.com AdWords API Workshops – All rights reserved
  26. 26. 2. Obter Consentimento ● Enviar Usuário ● Aceitar permissões AdWords API Workshops – All rights reserved
  27. 27. 3. Receber Código de Autorização > Enter authorization code here: 4/v6xr77ewYqhvHSyW6UJ1w7jKwAzu AdWords API Workshops – All rights reserved
  28. 28. 4. Trocar Código por Token HTML POST /o/oauth2/token HTTP/1.1 Host: accounts.google.com Content-Type: application/x-www-form-urlencoded code=4/v6xr77ewYqhvHSyW6UJ1w7jKwAzu& client_id=xxxxxxx.apps.googleusercontent.com& client_secret={client_secret}& redirect_uri=& grant_type=authorization_code AdWords API Workshops – All rights reserved
  29. 29. 5. Armazenar Credenciais { "access_token" : "yaxx.xxxxxxxxxxxx", "token_type" : "Bearer", "expires_in" : 3600, "refresh_token" : "1/xxxxxxxxxxxxxxxxxxxg" } AdWords API Workshops – All rights reserved
  30. 30. Tipos de Fluxos OAuth 2.0 AdWords API Workshops – All rights reserved
  31. 31. Fluxos OAuth 2.0 Suportados pelo Google O Google suporta cenários OAuth 2.0 comuns ● Aplicações Instaladas ● Aplicações em Web Server ● Aplicações em devices com input limitado AdWords API Workshops – All rights reserved
  32. 32. Diferenças entre fluxos Registro no Usar código de Client Console de API Autenticação Secret Renovação Redirecionamento de Token Aplicações Instaladas Requerido Sim Requerido Disponível URL, Texto Aplicações em Web Server Requerido Sim Requerido Disponível URL Aplicações em devices com input limitado Requerido - Requerido Disponível - AdWords API Workshops – All rights reserved
  33. 33. Melhores Práticas AdWords API Workshops – All rights reserved
  34. 34. Melhores Práticas ● Use tipo de acesso offline para obter um refresh_token ● Armazene o refresh_token para obter um novo access_token ● Use a estrutura da MCC ● Autorize a MCC de nível mais alto AdWords API Workshops – All rights reserved
  35. 35. Armazenamento & Compartilhamento ● Armazene os Tokens de Acesso ● Armazene o timestamp e o tempo de validade do token de acesso ● Compartilhe Tokens de Acesso entre Threads AdWords API Workshops – All rights reserved
  36. 36. Informações Úteis sobre Erros ● AuthenticationError.OAUTH_TOKEN_INVALID ○ Quando: Token de Accesso expirado ○ Solução: obtenha um novo Token de Acesso com um Refresh token ● AuthenticationError.INVALID_GRANT_ERROR ○ Quando: Refresh Token revogado ○ Solução: re-autentique a aplicação com consentimento do usuário AdWords API Workshops – All rights reserved
  37. 37. Apêndice AdWords API Workshops – All rights reserved
  38. 38. Recursos AdWords API Workshops – All rights reserved
  39. 39. Resources Links: https://developers.google.com/accounts/docs/OAuth2 https://developers.google.com/accounts/docs/OAuth2WebServer https://developers.google.com/accounts/docs/OAuth2InstalledApp https://developers.google.com/adwords/api/docs/authentication#oauth https://code.google.com/apis/console
  40. 40. Perguntas? AdWords API Workshops – All rights reserved
  41. 41. AdWords API Workshops – All rights reserved
  42. 42. Offline ou Online? Escolha acesso offline quando suas aplicações funcionam sem interação com o usuário Acesso offline é bom para aplicações típicas da API do AdWords que acessam servidores do Google para obter dados e atribuir valores em background. AdWords API Workshops – All rights reserved

×