O documento discute o protocolo OAuth 2.0 para autenticação na API do AdWords. Ele explica que o OAuth 2.0 fornece autorização segura e padronizada para a API sem usar nomes de usuário e senhas. O documento também discute como preparar uma aplicação, obter tokens de acesso, fluxos OAuth 2.0, melhores práticas e recursos.
#TheDevConf 2018 - spring boot ionic oauth2Luiz Avila
Conheça como proteger suas API's com o protocolo OAuth2. Nesta palestra será demonstrado um exemplo prático de uma API construída usando o Spring Boot protegida com autenticação usando Spring Security OAuth2, sendo acessada por uma aplicação mobile híbrida desenvolvida com Ionic 3 .
Atualmente, a maioria dos aplicativos faz uso de internet, seja através de requests à APIs, componentes sociais, ou qualquer outra funcionalidade fora do contexto do aplicativo. E para um aplicativo de sucesso precisamos de um backend estável, robusto e escalável. Nessa apresentação vamos discutir algumas opções de backends oferecido pelo Google Cloud Platform e entre outras plataformas.
#TheDevConf 2018 - spring boot ionic oauth2Luiz Avila
Conheça como proteger suas API's com o protocolo OAuth2. Nesta palestra será demonstrado um exemplo prático de uma API construída usando o Spring Boot protegida com autenticação usando Spring Security OAuth2, sendo acessada por uma aplicação mobile híbrida desenvolvida com Ionic 3 .
Atualmente, a maioria dos aplicativos faz uso de internet, seja através de requests à APIs, componentes sociais, ou qualquer outra funcionalidade fora do contexto do aplicativo. E para um aplicativo de sucesso precisamos de um backend estável, robusto e escalável. Nessa apresentação vamos discutir algumas opções de backends oferecido pelo Google Cloud Platform e entre outras plataformas.
OAuth 2.0 is an open authentication and authorization protocol that enables applications to access data from each other. This session will show you how to define OAuth 2.0 settings to implement security for RESTful resources developed using JAX-RS for the Java EE platform. Join us to learn about safety requirements for REST services, HTTP Basic authentication, and centralized identity management with OAuth 2.0, plus get an overview of OAuth 2.0 specification, OAuth 2.0 and REST services, and existing alternatives for OAuth 2.0.
Com o Amazon API Gateway e AWS Lambda é possível construir API de forma escalável, sem utilização de servidor. Nessa sessão será abordado arquiteturas, boas práticas e integrações entre os serviços.
Com o Amazon API Gateway e AWS Lambda é possível construir API de forma escalável, sem utilização de servidor. Nessa sessão será abordado arquiteturas, boas práticas e integrações entre os serviços.
Com o Amazon API Gateway e AWS Lambda é possível construir API de forma escalável, sem utilização de servidor. Nessa sessão será abordado arquiteturas, boas práticas e integrações entre os serviços.
Os treinamentos e as certificações da AWS podem ajudar a desenvolver suas habilidades relacionadas à nuvem, chamando a atenção de colegas, empregadores, parceiros de negócios ou clientes.
Nossas aulas são ministradas por instrutores técnicos acreditados pela AWS que podem ajudá-lo a adquirir o conhecimento e as habilidades necessárias para que você seja bem-sucedido no ambiente da AWS.
Desenvolva as habilidades necessárias para projetar, implantar e operar infraestrutura e aplicações na Nuvem AWS.
Saiba mais sobre os Treinamentos e Certificações da AWS: https://aws.amazon.com/pt/training/
Com o Amazon API Gateway e AWS Lambda é possível construir API de forma escalavel, sem utilização de servidor. Nessa sessão será abordado arquiteturas, boas práticas e integrações entre os serviços.
OAuth 2.0 is an open authentication and authorization protocol that enables applications to access data from each other. This session will show you how to define OAuth 2.0 settings to implement security for RESTful resources developed using JAX-RS for the Java EE platform. Join us to learn about safety requirements for REST services, HTTP Basic authentication, and centralized identity management with OAuth 2.0, plus get an overview of OAuth 2.0 specification, OAuth 2.0 and REST services, and existing alternatives for OAuth 2.0.
Com o Amazon API Gateway e AWS Lambda é possível construir API de forma escalável, sem utilização de servidor. Nessa sessão será abordado arquiteturas, boas práticas e integrações entre os serviços.
Com o Amazon API Gateway e AWS Lambda é possível construir API de forma escalável, sem utilização de servidor. Nessa sessão será abordado arquiteturas, boas práticas e integrações entre os serviços.
Com o Amazon API Gateway e AWS Lambda é possível construir API de forma escalável, sem utilização de servidor. Nessa sessão será abordado arquiteturas, boas práticas e integrações entre os serviços.
Os treinamentos e as certificações da AWS podem ajudar a desenvolver suas habilidades relacionadas à nuvem, chamando a atenção de colegas, empregadores, parceiros de negócios ou clientes.
Nossas aulas são ministradas por instrutores técnicos acreditados pela AWS que podem ajudá-lo a adquirir o conhecimento e as habilidades necessárias para que você seja bem-sucedido no ambiente da AWS.
Desenvolva as habilidades necessárias para projetar, implantar e operar infraestrutura e aplicações na Nuvem AWS.
Saiba mais sobre os Treinamentos e Certificações da AWS: https://aws.amazon.com/pt/training/
Com o Amazon API Gateway e AWS Lambda é possível construir API de forma escalavel, sem utilização de servidor. Nessa sessão será abordado arquiteturas, boas práticas e integrações entre os serviços.
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