Добавил:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4-1 Електрона комерція / OAuth - безопасный протокол кросс-авторизации веб-сайтов_0.ppt
Скачиваний:
117
Добавлен:
02.02.2021
Размер:
1.25 Mб
Скачать

Jane с её временным токеном возвращают на Beppa

Beppa в фоне обращается к Faji и, если

авторизация прошла успешно, меняет временный токен на токен доступа, и с его помощью извлекает данные

Страница Jane обновляется, на ней отображаются доступные для печати снимки

Криптография

В протоколе OAuth приняты меры по обеспечению криптографической надёжности, однако авторы рекомендуют передавать каждую конкретную реализацию на анализ экспертам.

Реальные имена и пароли по сети не передаются.

Передаваемые данные подписываются либо симметричным ключом (HMAC) либо несимметричным (RSA)

Для предотвращения атак типа запись-повтор, используется внедрение в подпись даты и/или уникального идентификатора запроса.

Другие проблемы с безопасностью

Токен и секрет, хранящиеся на сервере, достаточно защищены, однако в случае взлома сервера могут быть использованы злоумышленниками

Токен и секрет, встроенные в приложение, тиражируются вместе с приложением и ненадёжны по определению

Сервис может делить выдаваемые токены по уровням доверия и ограничивать доступ к API для ненадёжных клиентов.

Заключение

Протокол неплохо обкатан и используется в Google и Twitter

Использование криптографии делает его достаточно устойчивым к взлому

Есть библиотеки для разных языков, в том числе для perl, php, python

Если хочется разработать собственное API для удалённого персонифицированного доступа к сервису – стоит вспомнить про OAuth

Основные сведения о маркерах OAuth

Аутентификация OAuth использует два типа маркеров.

Маркер запроса гарантирует, что конечный пользователь разрешит вашему приложению выполнять операции API от имени пользователя. YouTube использует маркер запроса также для проверки того, что ваше приложение зарегистрировано в Google.

Маркер доступа позволяет вашему приложению выполнять операции API данных YouTube от имени определенного пользователя.

Примечание. Ваше приложение должно получить уникальные маркеры запроса и доступа для каждого пользователя. Кроме того, в вашем приложении должен быть реализован механизм сохранения маркеров доступа для последующего использования.

Этапы процесса аутентификации

Приложение получает неавторизованный маркер запроса. Google проверяет, что ваше приложение было зарегистрировано, и возвращает маркер. Маркеры запросов действительны в течение только одного часа.

Приложение перенаправляет пользователя на страницу входа Google. В URL для перенаправления указывается значение неавторизованного маркера запроса, полученное в шаге 1, а также URL для обратного вызова.

После того как пользователь войдет в свой аккаунт YouTube, Google отображает страницу, на которой пользователь может выбрать, разрешить или нет вашему приложению выполнять операции API YouTube от его имени. Если пользователь предоставляет вашему приложению такой доступ, неавторизованный маркер становится авторизованным. (Значение маркера при этом не изменяется.) Пользователь будет перенаправлен на указанный выше URL обратного вызова.

Приложение обменивает авторизованный маркер запроса на маркер доступа. Обмениваться могут только авторизованные маркеры, и каждый маркер запроса можно обменять только один раз. Маркер доступа связывается с одним аккаунтом пользователя, и ваше приложение должно использовать этот маркер для отправки прошедших аутентификацию запросов API от имени этого пользователя.

Настройка аутентификации OAuth

Шаги, чтобы позволить вашему веб-приложению выполнять аутентификацию пользователей с использованием протокола OAuth.

Зарегистрируйте свое веб-приложение в Google.

Примечание. Все запросы на получение или использование маркера OAuth должны быть подписаны. Google поддерживает алгоритмы формирования подписи RSA-SHA1 и HMAC-SHA1.

Если вашим приложением используется алгоритм RSA-SHA1, то при регистрации необходимо добавить в Google сертификат безопасности.

Если вашим приложением используется алгоритм HMAC-SHA1, при регистрации оставьте поле сертификата незаполненным. Google создаст секретный код пользователя OAuth, который будет показан на странице регистрации вашего домена по завершении процедуры регистрации. Вы будете использовать этот код для подписания запросов.

Механизм настройки для управления маркерами OAuth.

После того как ваше приложение получит от YouTube маркер доступа OAuth, оно будет использовать этот маркер для запросов API YouTube, выполняемых от имени пользователя, связанного с этим маркером. Поэтому вашему приложению потребуется хранить маркеры и отслеживать пользователей, для которых действителен каждый маркер. Ваше приложение не должно пытаться получить новый маркер доступа каждый раз, когда ему требуется взаимодействовать с YouTube от имени определенного пользователя. В действительности маркеры следует защищать так же тщательно, как и другую важную информацию пользователя, которая сохраняется вашим приложением.

Использование OAuth

Процесс аутентификации OAuth выполняется в три шага.

Получение маркера запроса

Авторизация маркера запроса

Получение маркера доступа

•Шаг 1. Получение маркера запроса

•Для получения маркера запроса отправьте подписанный запрос на https://www.google.com/accounts/OAuthGetRequestToken. Включите в запрос следующие параметры. Обратите внимание на то, что необязательным параметром является только oauth_version; все остальные параметры обязательны.

Соседние файлы в папке 4-1 Електрона комерція