AdWords API Workshops – All rights reserved
OAuth 2.0
+Paul Matthews, Google, Inc.

AdWords API Workshops – All rights reserved
План
1. Что такое OAuth 2.0?

1
2

2. Подготовка
3. Получение доступа

3

4. Подробнее о процессе
5. Рекомендации

AdWords...
Что такое OAuth 2.0?

AdWords API Workshops – All rights reserved
Что такое OAuth 2.0?
● Метод авторизации для AdWords API
● Простой
● Безопасный
● Стандартный

AdWords API Workshops – All...
Безопасность OAuth2
● Нет Логинов и Паролей
● Только токены (строки)

● Управление доступом
● Ограничение области доступа
...
OAuth2 -- это просто!

Получение доступа
Подтвержение пользователя

Работа с AdWords API

AdWords API Workshops – All righ...
Стандарт OAuth2
● Уже видели такой запрос?
● Подтвержение пользователя
●

Accept

●

Cancel

AdWords API Workshops – All r...
Процесс OAuth2
Interact with the AdWords API

Grant Access
1) Build URL

3) Exchange Code

Your Application

2) Accept Con...
Токены OAuth2.0
● access_token

● refresh_token

● Для выполнения запросов

● Для генерации access_token

● Действителен ч...
Токены OAuth2.0
● access_token

● refresh_token

● Для выполнения запросов

● Для генерации access_token

● Действителен ч...
Токены OAuth2.0
● access_token

● refresh_token

● Для выполнения запросов

● Для генерации access_token

● Действителен ч...
Подготовка

AdWords API Workshops – All rights reserved
Зарегистрируйте приложение
http://code.google.com/apis/console
● Необходим идентификатор приложения
● client_id
● client_s...
Создайте новый проект Google API Console

AdWords API Workshops – All rights reserved
Создайте идентификатор OAuth 2.0

AdWords API Workshops – All rights reserved
Выберите тип приложения

AdWords API Workshops – All rights reserved
“Web server” или “installed application”?
Installed application если нужен только один набор
токенов для авторизации (испо...
Готово!

AdWords API Workshops – All rights reserved
Получения доступа
access_token & refresh_token

AdWords API Workshops – All rights reserved
Зачем нужен Access Token?

Access & Refresh Tokens
Запрос разрешения

AdWords API Workshops – All rights reserved
Использование библиотек
● С библиотеками
● Или без?

AdWords API Workshops – All rights reserved
Библиотеки упрощают задачу
● Подробности зависят от конкретной библиотеки
● Например:
● setup_oauth2
● Авторизация
● Обнов...
Подробнее о процессе

AdWords API Workshops – All rights reserved
Как получить Access Token вручную
1. Генерация URL
2. Получение согласия
3. Ввод кода авторизации
4. Обмен кода на токеты
...
1. Генерация URL
https://accounts.google.com/o/oauth2/auth?
access_type=offline&
scope=https://adwords.google.com/api/adwo...
2. Получение согласия
● Направление пользователя
● Подтверждение

AdWords API Workshops – All rights reserved
3. Получение кода авторизации

> Enter authorization code here:
4/v6xr77ewYqhvHSyW6UJ1w7jKwAzu

AdWords API Workshops – Al...
4. Обмен кода на токен
HTML

POST /o/oauth2/token HTTP/1.1
Host: accounts.google.com
Content-Type: application/x-www-form-...
5. Хранение токенов
{
"access_token" : "yaxx.xxxxxxxxxxxx",
"token_type" : "Bearer",
"expires_in" : 3600,
"refresh_token" ...
Offline или Online?
Offline access -- когда есть фоновые задачи,
выполняемые независимо от пользовател
Online access -- ко...
Рекомендации

AdWords API Workshops – All rights reserved
Рекомендации
● Используйте offline access type для получения refresh_token
● Храните refresh_token чтобы обновлять access_...
Возможные ошибки
● AuthenticationError.OAUTH_TOKEN_INVALID
○ Причина: срок действия Access Token истек
○ Решение: обновите...
Полезные ресурсы

AdWords API Workshops – All rights reserved
https://developers.google.com/accounts/docs/OAuth2
https://developers.google.com/accounts/docs/OAuth2WebServer
https://dev...
Вопросы?

AdWords API Workshops – All rights reserved
AdWords API Workshops – All rights reserved
Upcoming SlideShare
Loading in …5
×

OAuth 2.0 refresher (russian)

1,197 views

Published on

Published in: Technology
  • Be the first to comment

OAuth 2.0 refresher (russian)

  1. 1. AdWords API Workshops – All rights reserved
  2. 2. OAuth 2.0 +Paul Matthews, Google, Inc. AdWords API Workshops – All rights reserved
  3. 3. План 1. Что такое OAuth 2.0? 1 2 2. Подготовка 3. Получение доступа 3 4. Подробнее о процессе 5. Рекомендации AdWords API Workshops – All rights reserved 4 5
  4. 4. Что такое OAuth 2.0? AdWords API Workshops – All rights reserved
  5. 5. Что такое OAuth 2.0? ● Метод авторизации для AdWords API ● Простой ● Безопасный ● Стандартный AdWords API Workshops – All rights reserved
  6. 6. Безопасность OAuth2 ● Нет Логинов и Паролей ● Только токены (строки) ● Управление доступом ● Ограничение области доступа ● Простота отзыва AdWords API Workshops – All rights reserved
  7. 7. OAuth2 -- это просто! Получение доступа Подтвержение пользователя Работа с AdWords API AdWords API Workshops – All rights reserved
  8. 8. Стандарт OAuth2 ● Уже видели такой запрос? ● Подтвержение пользователя ● Accept ● Cancel AdWords API Workshops – All rights reserved
  9. 9. Процесс OAuth2 Interact with the AdWords API Grant Access 1) Build URL 3) Exchange Code Your Application 2) Accept Consent The MCC User OAuth2 Servers The AdWords API Google Servers AdWords API Workshops – All rights reserved 4) Make Request 5) Refresh Access
  10. 10. Токены OAuth2.0 ● access_token ● refresh_token ● Для выполнения запросов ● Для генерации access_token ● Действителен час ● Без срока действия ● Для хранения AdWords API Workshops – All rights reserved
  11. 11. Токены OAuth2.0 ● access_token ● refresh_token ● Для выполнения запросов ● Для генерации access_token ● Действителен час ● Без срока действия ● Для хранения AdWords API Workshops – All rights reserved
  12. 12. Токены OAuth2.0 ● access_token ● refresh_token ● Для выполнения запросов ● Для генерации access_token ● Действителен час ● Без срока действия ● Для хранения AdWords API Workshops – All rights reserved
  13. 13. Подготовка AdWords API Workshops – All rights reserved
  14. 14. Зарегистрируйте приложение http://code.google.com/apis/console ● Необходим идентификатор приложения ● client_id ● client_secret AdWords API Workshops – All rights reserved
  15. 15. Создайте новый проект Google API Console AdWords API Workshops – All rights reserved
  16. 16. Создайте идентификатор OAuth 2.0 AdWords API Workshops – All rights reserved
  17. 17. Выберите тип приложения AdWords API Workshops – All rights reserved
  18. 18. “Web server” или “installed application”? Installed application если нужен только один набор токенов для авторизации (используется МСС) Web server application если необходимо использовать разные токены для каждого аккаунта AdWords API Workshops – All rights reserved
  19. 19. Готово! AdWords API Workshops – All rights reserved
  20. 20. Получения доступа access_token & refresh_token AdWords API Workshops – All rights reserved
  21. 21. Зачем нужен Access Token? Access & Refresh Tokens Запрос разрешения AdWords API Workshops – All rights reserved
  22. 22. Использование библиотек ● С библиотеками ● Или без? AdWords API Workshops – All rights reserved
  23. 23. Библиотеки упрощают задачу ● Подробности зависят от конкретной библиотеки ● Например: ● setup_oauth2 ● Авторизация ● Обновление конфигурации AdWords API Workshops – All rights reserved
  24. 24. Подробнее о процессе AdWords API Workshops – All rights reserved
  25. 25. Как получить Access Token вручную 1. Генерация URL 2. Получение согласия 3. Ввод кода авторизации 4. Обмен кода на токеты 5. Хранение токенов AdWords API Workshops – All rights reserved
  26. 26. 1. Генерация 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
  27. 27. 2. Получение согласия ● Направление пользователя ● Подтверждение AdWords API Workshops – All rights reserved
  28. 28. 3. Получение кода авторизации > Enter authorization code here: 4/v6xr77ewYqhvHSyW6UJ1w7jKwAzu AdWords API Workshops – All rights reserved
  29. 29. 4. Обмен кода на токен 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
  30. 30. 5. Хранение токенов { "access_token" : "yaxx.xxxxxxxxxxxx", "token_type" : "Bearer", "expires_in" : 3600, "refresh_token" : "1/xxxxxxxxxxxxxxxxxxxg" } AdWords API Workshops – All rights reserved
  31. 31. Offline или Online? Offline access -- когда есть фоновые задачи, выполняемые независимо от пользовател Online access -- когда пользователь все время присутствует (активно работает с приложением) AdWords API Workshops – All rights reserved
  32. 32. Рекомендации AdWords API Workshops – All rights reserved
  33. 33. Рекомендации ● Используйте offline access type для получения refresh_token ● Храните refresh_token чтобы обновлять access_token ● Используйте структуру MCC и авторизацию на уровне MCC ● Храните так же acess_token и timestamp -- меньше запросов ● Используйте один набор для авторизации между всеми потоками AdWords API Workshops – All rights reserved
  34. 34. Возможные ошибки ● AuthenticationError.OAUTH_TOKEN_INVALID ○ Причина: срок действия Access Token истек ○ Решение: обновите токен с помощью Refresh token ● AuthenticationError.INVALID_GRANT_ERROR ○ Причина: пользователь отозвал разрешение ○ Решение: повторите авторизацию и получите новое AdWords API Workshops – All rights reserved
  35. 35. Полезные ресурсы AdWords API Workshops – All rights reserved
  36. 36. 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
  37. 37. Вопросы? AdWords API Workshops – All rights reserved
  38. 38. AdWords API Workshops – All rights reserved

×