3. План
1. Что такое OAuth 2.0?
1
2
2. Подготовка
3. Получение доступа
3
4. Подробнее о процессе
5. Рекомендации
AdWords API Workshops – All rights reserved
4
5
4. Что такое OAuth 2.0?
AdWords API Workshops – All rights reserved
5. Что такое OAuth 2.0?
● Метод авторизации для AdWords API
● Простой
● Безопасный
● Стандартный
AdWords API Workshops – All rights reserved
6. Безопасность OAuth2
● Нет Логинов и Паролей
● Только токены (строки)
● Управление доступом
● Ограничение области доступа
● Простота отзыва
AdWords API Workshops – All rights reserved
7. OAuth2 -- это просто!
Получение доступа
Подтвержение пользователя
Работа с AdWords API
AdWords API Workshops – All rights reserved
8. Стандарт OAuth2
● Уже видели такой запрос?
● Подтвержение пользователя
●
Accept
●
Cancel
AdWords API Workshops – All rights reserved
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. Токены OAuth2.0
● access_token
● refresh_token
● Для выполнения запросов
● Для генерации access_token
● Действителен час
● Без срока действия
● Для хранения
AdWords API Workshops – All rights reserved
11. Токены OAuth2.0
● access_token
● refresh_token
● Для выполнения запросов
● Для генерации access_token
● Действителен час
● Без срока действия
● Для хранения
AdWords API Workshops – All rights reserved
12. Токены OAuth2.0
● access_token
● refresh_token
● Для выполнения запросов
● Для генерации access_token
● Действителен час
● Без срока действия
● Для хранения
AdWords API Workshops – All rights reserved
18. “Web server” или “installed application”?
Installed application если нужен только один набор
токенов для авторизации (используется МСС)
Web server application если необходимо использовать
разные токены для каждого аккаунта
AdWords API Workshops – All rights reserved
23. Библиотеки упрощают задачу
● Подробности зависят от конкретной библиотеки
● Например:
● setup_oauth2
● Авторизация
● Обновление конфигурации
AdWords API Workshops – All rights reserved
25. Как получить Access Token вручную
1. Генерация URL
2. Получение согласия
3. Ввод кода авторизации
4. Обмен кода на токеты
5. Хранение токенов
AdWords API Workshops – All rights reserved
27. 2. Получение согласия
● Направление пользователя
● Подтверждение
AdWords API Workshops – All rights reserved
28. 3. Получение кода авторизации
> Enter authorization code here:
4/v6xr77ewYqhvHSyW6UJ1w7jKwAzu
AdWords API Workshops – All rights reserved
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. 5. Хранение токенов
{
"access_token" : "yaxx.xxxxxxxxxxxx",
"token_type" : "Bearer",
"expires_in" : 3600,
"refresh_token" : "1/xxxxxxxxxxxxxxxxxxxg"
}
AdWords API Workshops – All rights reserved
31. Offline или Online?
Offline access -- когда есть фоновые задачи,
выполняемые независимо от пользовател
Online access -- когда пользователь все время
присутствует (активно работает с приложением)
AdWords API Workshops – All rights reserved
33. Рекомендации
● Используйте offline access type для получения refresh_token
● Храните refresh_token чтобы обновлять access_token
● Используйте структуру MCC и авторизацию на уровне MCC
● Храните так же acess_token и timestamp -- меньше запросов
● Используйте один набор для авторизации между всеми потоками
AdWords API Workshops – All rights reserved
34. Возможные ошибки
● AuthenticationError.OAUTH_TOKEN_INVALID
○ Причина: срок действия Access Token истек
○ Решение: обновите токен с помощью Refresh token
● AuthenticationError.INVALID_GRANT_ERROR
○ Причина: пользователь отозвал разрешение
○ Решение: повторите авторизацию и получите новое
AdWords API Workshops – All rights reserved