Статьи с меткой OAuth содержат информацию по использованию протокола OAuth в Delphi. Эта метка является наиболее общей для статей, посвященных работе с различными реализациями OAuth.
В одном из постов в блоге я рассказывал про новый класс в проекте "Google API в Delphi" для авторизации в API по протоколу OAuth 2.0.
По большому счёту модуль для OAuth создавался для того, чтобы использовать его в API, которые не поддерживают ClientLogin (в основном это новые API из Лаборатории). Но после известных событий в самом Google (см. "18 API Google псу под хвост…") этот модуль как-то затерялся, забылся т.к. тратить время над API, которые в любой момент могут быть объявлены несостоявшимися как-то не хотелось. Сегодня я решил снова вернуться к теме использования OAuth в Google и написать небольшой компонент Delphi, которые, наряду с уже имеющимися компонентом GoogleLogin позволит авторизовываться в любых API Google вне зависимости от того находится ли этот API в лаборатории или это стабильная версия, например, как Google Docs API 2.0.
Чтобы не повторяться дважды и не рассказывать об устройстве OAUth 2.0 для проектов гугла, советую Вам прочитать предыдущий пост на эту тему, тем более, что демка для компонента будет таже самая. Читать далее »
Давненько я ничего не писал про Google API в Delphi, а между тем, разработчики из Google выпустили экспериментальный API, позволяющий нам без особых хлопот получить токен для авторизации в сервисах с помощью OAuth. Ранее OAuth использовался только для web-приложений.
Авторизация в сервисах Google теперь стала напоминать, что-то наподобие OAuth-авторизации в Twitter, т.е. вначале получаем код доступа, затем меняем его на access_token, который в дальнейшем и используем для работы с ресурсами какого-либо сервиса.
Рассмотрим пример авторизации в сервисе Google с помощью OAuth.
Итак, как получать токен (ключ) для авторизации в сервисах Яндекс с помощью логина и пароля пользователя мы уже знаем. Теперь рассмотрим второй способ получения такого же токена, но только с использованием подтверждающего кода.
Использование подтверждающего кода очень сильно напоминает процесс авторизации в API Teitter’а для настольных приложений. Смысл этого способа достаточно прост: на первом этапе авторизации пользователь направляется на страницу Яндекс для ввода своего логина и пароля (если он ещё на вошел в аккаунт), далее Яндекс задает простой вопрос “Дать доступ к твоим данным приложению “Икс”?”. При положительном ответе сервер перенаправляет пользователя на страницу на которой расположен код подтверждения. Второй этап – пользователь вводит код подтверждения в программу и программа уже это код отправляет снова серверу для получения токена. Если все верно – сервер возвращает токен и можно работать с ресурсами API. Рассмотрим весь процесс по пунктам.
Как я недавно говорил, в настоящее время Яндекс предоставляет разработчикам доступ к некоторым своим сервисам через API. Для авторизации используется OAuth 2.0. При этом разработчики Яндекс постарались предусмотреть все возможные варианты авторизации (с мобильного, веб- или настольного приложения) и, ем самым, позволить как можно большему количеству сторонних разработчиков получить доступ к сервисам и использовать их работу в своих программах.
Естественно, для нас, как разработчиков в Delphi, наибольший интерес представляет OAuth-авторизация для настольных приложений. Сегодня рассмотрим один из возможных вариантов получения токена для использования его в работе с сервисами Яндекса.
Так уж сложилось, что на Яндекс разнообразные API сервисов появляются позже, чем на том же Google, да и их количество по сравнению с Google значительно меньше. Ещё меньше на Яндекс было API для настольных приложений. На сколько мне помнится более менее подходящим оказался API Яндекс.Спеллера, который мне довелось перенести на Delphi. По этой причине особо и не следил за новыми разработками на Яндексе. Сегодня снова заглянул в гости к разработчикам Яндекса и был приятно удивлен появившимся обновлениям.
Не так давно (11 июня 2010 года) команда Twitter'а напомнила в своем о том, что 30 июня будет полностью прекращена поддержка base-авторизации при доступе к API и все вызовы будут выполняться исключиельно при Oauth-авторизации. Что это даст нам с Вами, как разработчикам? Читать далее »
Библиотека OAuth для Delphi уже не раз рассматривалась в блоге, но до практического её применения дело как-то не доходило. Сегодня я решил исправить ситуацию и рассмотреть применение библиотеки OAuth на примере использования при работе с Twitter API. Причин выбора именно этого API две:
1. Twitter с начала лета планирут отказаться от использования Base-авторизации для доступа к API. Вместо этого разработчикам настольных приложений предлагается использовать либо OAuth с PIN-кодом, либо XAuth.
2. Не так давно я рассматривал в блоге свою программу для сжатия ссылок Link Compressor, которая использует API Twitter'а для публикации сообщений со ссылками. В программе используется Base-авторизация. Поэтому, чтобы после отказа команды Twitter'а от Base-авторизации Link Compressor продолжал нормально функционировать, необходимо применить в её работе OAuth. Читать далее »
В целом, идея перевода библиотеки OAuth для Twitter на рельсы ICS была ещё её разработчиком год назад, на в силу некоторых обстоятельств проект перестал развиваться и библиотека так и осталась, работающей на Indy.
Сегодня я решил переработать библиотеку OAuth, а заодно и класс, реализующий работу с API Twitter'а и реализовать работу, используя только ICS. Для работы нам понадобится предыдущая версия библиотеки, которую можно скачать отсюда. Читать далее »
Не так давно я писал про единственную более менее готовую библиотеку OAuth для Delphi, которую хотел использовать в Twitter'e. Проблема её использования заключалась в том, что при отправке сообщений, содержащих русские символы возвращалась ошибка 401. Сегодня эта досадная ошибка была решена. В связи с чем выкладываю в доступ исправленную библиотеку OAuth для Delphi. Читать далее »
Ещё когда только начинал изучать API Twitter'а хотел воспользоваться OAuth-авторизацией для работы. Но за неимением знаний о том, как построена в принципе эта система авторизации пользователей, всё как-то не пробовал даже поискать готовых решений. Вчера решил вернуться к решению этого вопроса по нескольким причинам:
Для клиентов, работающих через OAuth лимит запросов к API увеличен
Разработчики API уже давным давно обещались перевести работу с API только через OAuth (хотя Base-авторизацию оставит, но лимит на запросы будет в 2 раза ниже)
При работе через OAuth ваше приложение получает одно небольшое, но вполне ощутимое преимущество - в каждоем сообщении, отправленном через Ваш клиент будет указываться название Вашего приложения со ссылкой на сайт. Выглядит это примерно так:
Ну, а ссылка на Ваш сайт в огромной куче сообщений (если приложение будет пользоваться успехом у пользователей) - это какой-никакой, а прирост трафика на сайт. Буквально вчера нашел класс Delphi для работы с API Twitter'а с использованием OAuth-авторизации.
Свежие комментарии