oauth 2.0 refresher (russian)

Post on 21-Jan-2015

389 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

AdWords API Workshops – All rights reserved

AdWords API Workshops – All rights reserved

OAuth 2.0

+Paul Matthews, Google, Inc.

AdWords API Workshops – All rights reserved

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

2. Подготовка

3. Получение доступа

4. Подробнее о процессе

5. Рекомендации

План

1

2

3

4

5

AdWords API Workshops – All rights reserved

Что такое OAuth 2.0?

AdWords API Workshops – All rights reserved

Что такое OAuth 2.0?

● Метод авторизации для AdWords API

● Простой

● Безопасный

● Стандартный

AdWords API Workshops – All rights reserved

● Нет Логинов и Паролей

● Только токены (строки)

● Управление доступом

● Ограничение области доступа

● Простота отзыва

Безопасность OAuth2

AdWords API Workshops – All rights reserved

OAuth2 -- это просто!

Работа с AdWords API

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

AdWords API Workshops – All rights reserved

Стандарт OAuth2

● Уже видели такой запрос?

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

● Accept

● Cancel

AdWords API Workshops – All rights reserved

2) Accept Consent

3) Exchange Code

Процесс OAuth2

Your Application

The MCC User

Google Servers

1) Build URL 4) Make Request 5) Refresh Access

OAuth2 Servers

The AdWords API

Grant Access Interact with the AdWords API

AdWords API Workshops – All rights reserved

● refresh_token

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

● Без срока действия

● Для хранения

● access_token

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

● Действителен час

Токены OAuth2.0

AdWords API Workshops – All rights reserved

● refresh_token

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

● Без срока действия

● Для хранения

● access_token

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

● Действителен час

Токены OAuth2.0

AdWords API Workshops – All rights reserved

● access_token

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

● Действителен час

Токены OAuth2.0

● refresh_token

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

● Без срока действия

● Для хранения

AdWords API Workshops – All rights reserved

Подготовка

AdWords API Workshops – All rights reserved

http://code.google.com/apis/console

● Необходим идентификатор приложения● client_id● client_secret

Зарегистрируйте приложение

AdWords API Workshops – All rights reserved

Создайте новый проект 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 если нужен только один набор токенов для авторизации (используется МСС)

Web server application если необходимо использовать разные токены для каждого аккаунта

AdWords API Workshops – All rights reserved

Готово!

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

Подробнее о процессе

AdWords API Workshops – All rights reserved

1. Генерация URL

2. Получение согласия

3. Ввод кода авторизации

4. Обмен кода на токеты

5. Хранение токенов

Как получить Access Token вручную

AdWords API Workshops – All rights reserved

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

1. Генерация URL

AdWords API Workshops – All rights reserved

● Направление пользователя

● Подтверждение

2. Получение согласия

AdWords API Workshops – All rights reserved

> Enter authorization code here:

4/v6xr77ewYqhvHSyW6UJ1w7jKwAzu

3. Получение кода авторизации

HTML

AdWords API Workshops – All rights reserved

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

4. Обмен кода на токен

AdWords API Workshops – All rights reserved

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

}

5. Хранение токенов

AdWords API Workshops – All rights reserved

Offline access -- когда есть фоновые задачи, выполняемые независимо от пользовател

Online access -- когда пользователь все время присутствует (активно работает с приложением)

Offline или Online?

AdWords API Workshops – All rights reserved

Рекомендации

AdWords API Workshops – All rights reserved

● Используйте offline access type для получения refresh_token

● Храните refresh_token чтобы обновлять access_token

● Используйте структуру MCC и авторизацию на уровне MCC

● Храните так же acess_token и timestamp -- меньше запросов

● Используйте один набор для авторизации между всеми потоками

Рекомендации

AdWords API Workshops – All rights reserved

● AuthenticationError.OAUTH_TOKEN_INVALID

○ Причина: срок действия Access Token истек○ Решение: обновите токен с помощью Refresh token

● AuthenticationError.INVALID_GRANT_ERROR

○ Причина: пользователь отозвал разрешение○ Решение: повторите авторизацию и получите новое

Возможные ошибки

AdWords API Workshops – All rights reserved

Полезные ресурсы

AdWords API Workshops – All rights reserved

Вопросы?

AdWords API Workshops – All rights reserved

top related