Доступ к контактам Yahoo через OAuth на App Engine (Python) - PullRequest
1 голос
/ 29 сентября 2010

У меня есть существующее веб-приложение, работающее на Python на App Engine, в которое пользователи могут войти через open-id, используя учетную запись Yahoo. Теперь, когда они войдут в систему, я бы хотел, чтобы они могли получить доступ к своим контактам в Yahoo через OAuth. Я работаю через Yahoo Python SDK и просто застрял.

У меня есть ключ потребителя, секрет потребителя, идентификатор приложения, а URL-адрес обратного вызова - это та же страница, от которой уходит использование. Переход на страницы входа в Yahoo, кажется, работает нормально, и пользователь возвращается на мой сайт с auth_token и auth_verifier. Что мне с ними делать? Какие строки мне нужно хранить для будущих запросов? Есть ли хороший пример кода для таких запросов? Спасибо.

1 Ответ

0 голосов
/ 29 сентября 2010

Вы должны искать OpenID + гибридный протокол Oauth .

OpenID + OAuth Гибридный протокол позволяет веб-разработчикам объединять запрос OpenID с запросом аутентификации OAuth.
Это расширение полезно для веб-разработчиков, которые используют как OpenID, так и OAuth, особенно в том, что оно упрощает процесс для пользователей, запрашивая их утверждение один раз, а не дважды.

Цель OAuth - приобреститокен доступа от Google, который затем можно использовать для обмена данными пользователя с сервисом Google (например, информацией календаря или адресной книгой).Обычный процесс OAuth состоит из четырех этапов: (1) запросить токен «запроса», (2) запросить авторизацию токена, что вызывает одобрение пользователя, (3) обмен авторизованного токена запроса на «доступ»"токен и (4) использовать токен доступа для взаимодействия с данными сервиса Google пользователя.Более подробное описание см. В разделе OAuth для веб-приложений.

При OpenID + OAuth эта последовательность остается практически неизменной.Разница в том, что получение авторизованного токена запроса OAuth (шаги 1 и 2) заключено в запрос аутентификации OpenID.Таким образом, пользователь может одновременно подтвердить логин и доступ к сервису.

Здесь демо и исходный код (php) гибридного протоколаиспользуя Google.

Здесь и здесь Документация Yahoo для объединения запроса аутентификации OpenID с утверждением токена запроса OAuth.

...