oauth 2.0 (spanish)

Post on 21-Jan-2015

761 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

AdWords API Workshops São Paulo

TRANSCRIPT

AdWords API Workshops – All rights reserved

AdWords API Workshops – All rights reserved

Matias Gomez Carabias, CSE, Google.

AdWords API Workshops – All rights reserved

● Introduccion● Preparacion● Obtención del Token de Acceso● Demo● Detalle de los flujos de OAuth 2.0● Recursos Disponibles

Agenda

AdWords API Workshops – All rights reserved

Introduccion

AdWords API Workshops – All rights reserved

Has visto esta ventana? Una aplicacion esta solicitando un acceso a tus datos. Se puede permitir o denegar. Se puede revocar en cualquier momento.

Que es OAuth 2.0?

AdWords API Workshops – All rights reserved

La aplicacion obtiene un access token y un refresh token luego de que el dueño lo permite, lo cual es requerido para acceder a los servicios de Google

{"access_token" : "yaxx.xxxxxxxxxxxx","token_type" : "Bearer","expires_in" : 3600,"refresh_token" : "1/xxxxxxxxxxxxxxxxxxxg"

}

Que pasa detras realmente?

AdWords API Workshops – All rights reserved

La aplicacion puede ahora acceder a los datos mediante el access token.$ curl -H "Authorization: Bearer ya29.AHxxxxxxxxxxxxxxxxxxxx" https://www.googleapis.com/plus/v1/people/me

{ ... "id": "108294709823331281952", "displayName": "Ryuichi Hoshi", "url": "https://plus.google.com/108294709823331281952",

...

Accediendo mediante un access Token

AdWords API Workshops – All rights reserved

Como funciona OAuth2.

Obtener un Access token para una cuenta mediante la aprobación del dueño de dicha cuenta.

Acceso a los servicios de Google con el Access Token

El flujo de OAuth2 se divide en dos partes: Obtener el access token y acceder el servicio con el token

AdWords API Workshops – All rights reserved

● Mayor seguridad○ No se expone el username/password

● Control de Acceso mas especifico○ Los tokens pueden tener alcance restringido sobre los datos○ Token facilmente revocable○ Impacto reducido ante un token comprometido

● Sin CAPTCHAs

Beneficios de usar OAuth 2.0

AdWords API Workshops – All rights reserved

● Exposicion de username/passwords ○ Acceso completo a la cuenta incluyendo la posibilidad de

cambiar el password.● Revocar un token no es muy sencillo

○ El token dura 2 semanas.○ Es necesario cambiar la password para invalidar el token.

● El uso de CAPTCHA es a veces requerido○ No es posible automatizar la autenticación cuando el

CAPTCHA es requerido.

Desventajas de ClientLogin

AdWords API Workshops – All rights reserved

Preparacion

AdWords API Workshops – All rights reserved

Todas las aplicaciones que usan OAuth 2.0 deben estar registradas

Si aún no fueron creados un Client ID y Client Secret, este es el primer paso para utilizar OAuth 2.0 para los servicios de Google

Crear un Client ID y Client secret

AdWords API Workshops – All rights reserved

Crear un nuevo proyecto con Google API Console

AdWords API Workshops – All rights reserved

Crear un nuevo Client Id de OAuth 2.0

AdWords API Workshops – All rights reserved

Ingresar el nombre de producto

AdWords API Workshops – All rights reserved

Elegir el tipo de aplicacion

AdWords API Workshops – All rights reserved

Ahora, ya hemos generado el Client ID and Client secret!

AdWords API Workshops – All rights reserved

Obtener el Access Token

AdWords API Workshops – All rights reserved

El ClientLibrary de Java tiene una pequeña herramienta que nos permite obtener un access token

Obtener un Access Token con ClientLibrary

AdWords API Workshops – All rights reserved

1. Descargar y extraer el proyecto de ejemplo adwords-axis-examples-1.20.0.tar.gz from downloads

2. Editar el archivo de propiedadessrc/main/resources/ads.properties para incluir la información de OAuth2 (client ID y client secret) e información básica de la cuenta

Obtener el Access Token con ClientLibrary

AdWords API Workshops – All rights reserved

3. Compilar y Ejecutar el program$ mvn -X compile$ mvn -X exec:java \ -Dexec.mainClass="adwords.axis.auth.GetRefreshToken"

Muestra algo como esto:

Paste this url in your browser: https://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=xxxxxxxx.apps.googleusercontent.com&redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=code&scope=https://adwords.google.com/api/adwords

Obtener el Access Token con ClientLibrary

AdWords API Workshops – All rights reserved

4. Pegar la URL en un browser.

Nota: Es necesario estar logueado con una cuenta de MCC antes de hacerlo.

Obtener el Access Token con ClientLibrary

AdWords API Workshops – All rights reserved

5. Aceptar el RequestSe obtendrá un código que puede ser usado par intercambiar con el nuevo Access Token

Obtener el Access Token con ClientLibrary

AdWords API Workshops – All rights reserved

6. Insertar el código en el programa que se esta ejecutandoType the code you received here: 4/-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwIYour refresh token is: 1/xxxxxxxxxxxxxxxxxxxxTl1vgIn your ads.properties file, modify:

api.adwords.refreshToken=1/xxxxxxxxxxxxxxxxxxxxTl1vg

7. Agregar el archivo ads.properties con el refresh token

Obtener el Access Token con ClientLibrary

AdWords API Workshops – All rights reserved

Felicitaciones! Ahora, su aplicacion tiene un access token y refresh token!

Client Library automáticamente obtiene un nuevo access token con el refresh token cada vez que sea requerido.

Obtener el Access Token con ClientLibrary

AdWords API Workshops – All rights reserved

Demo

AdWords API Workshops – All rights reserved

Detalle de los flujos de OAuth 2.0

AdWords API Workshops – All rights reserved

Google soporta los siguientes escenarios de OAuth 2.0

● Web server applications● Installed applications● Applications on limited-input devices● Service Accounts requires your own Google Apps domain

Flujos de OAuth 2.0 soportados

AdWords API Workshops – All rights reserved

Diferencias entre los flujos

Registration to API Console

Registration to API Console

Use Authentication Code

Client Secret

Refresh Token Redirection

Web server applications

Required Yes Required Available URL

Installed applications

Required Yes Required Available URL, Text

Client-side applications

Required - - - URL

Applications on limited-input device

Required - Required Available -

AdWords API Workshops – All rights reserved

Web server or installed application?

Elegir Installed application salvo que se tengan muchas cuentas que necesitan autorización.

Elegir Web server application cuando se necesita autorización para muchas cuentas.

AdWords API Workshops – All rights reserved

Casos: Se quiere usar autenticación de OAuth 2.0 para cada cliente en vez de invitarlos al MCCBeneficios: El cliente no debe darnos acceso a la UI.No es necesario vincular las cuentas.Es posible automatizar el proceso de intercambio mediante este flujo.

Flujo de Web Server Application

AdWords API Workshops – All rights reserved

Flujo Installed Application

Casos:Todas las cuentas se encuentran vinculadas a un mismo MCC y se quiere usar un solo set de credenciales.Beneficios: No es necesario administrar/refrescar los access tokens para todos los clientes. Obtener access token para el MCC es suficiente para acceder a todas las cuentas vinculadas.

AdWords API Workshops – All rights reserved

Recursos Disponibles

Docs Links:

Using OAuth 2.0 to Access Google APIs: http://goo.gl/8Gis5

Using OAuth 2.0 for Web Server Applications: http://goo.gl/IghDp

Using OAuth 2.0 for Installed Applications: http://goo.gl/R9xYB

Authentication: http://goo.gl/RUotMR

Google API Console: http://goo.gl/9R42O

OAuth Service Accounts: http://goo.gl/85Hhw9

Resources

AdWords API Workshops – All rights reserved

Preguntas?

AdWords API Workshops – All rights reserved

top related