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. O que é OAuth 2.0?
AdWords API Workshops – All rights reserved
5. O que é OAuth 2.0?
● Autorização para a API do AdWords
● Seguro
● Simples
● Padronizado
AdWords API Workshops – All rights reserved
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. A simplicidade do OAuth2
Obter Acesso
Pedir aprovação
Interagir com a API do AdWords
AdWords API Workshops – All rights reserved
8. O padrão do OAuth2
● Você já viu essa janela?
● Consentimento do Usuário
●
Aceitar
●
Cancelar
AdWords API Workshops – All rights reserved
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. 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. 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. 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
15. Crie um novo projeto na Google API
Console
AdWords API Workshops – All rights reserved
16. Crie um client ID OAuth 2.0
AdWords API Workshops – All rights reserved
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. Escolha seu tipo de aplicação
Aplicação Instalada
AdWords API Workshops – All rights reserved
19. Agora, você tem um client_id e client_secret
AdWords API Workshops – All rights reserved
21. Para que serve o Token de Acesso?
Obter Acesso & Renovar Tokens
Obter aprovação
AdWords API Workshops – All rights reserved
22. Com ou sem Client Libraries
● Com Client Libraries
● Sem Client Libraries
AdWords API Workshops – All rights reserved
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. 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. 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. 2. Obter Consentimento
● Enviar Usuário
● Aceitar permissões
AdWords API Workshops – All rights reserved
27. 3. Receber Código de Autorização
> Enter authorization code here:
4/v6xr77ewYqhvHSyW6UJ1w7jKwAzu
AdWords API Workshops – All rights reserved
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. 5. Armazenar Credenciais
{
"access_token" : "yaxx.xxxxxxxxxxxx",
"token_type" : "Bearer",
"expires_in" : 3600,
"refresh_token" : "1/xxxxxxxxxxxxxxxxxxxg"
}
AdWords API Workshops – All rights reserved
30. Tipos de Fluxos OAuth 2.0
AdWords API Workshops – All rights reserved
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. 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
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. 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. 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
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