Twitter OAUTH и Win32 EXE-приложение для рабочего стола - PullRequest
3 голосов
/ 22 октября 2010

Я использую Delphi EXE (приложение для рабочего стола win32) для доступа к твиттеру и выполнения определенных функций. Раньше использовалась обычная аутентификация с ограничением API. Я знаю, что должен преобразовать это в OAuth. Я перечитывал документацию, пытаясь определить лучший подход. Я понимаю, что лучший способ - это веб-браузер с URL обратного вызова. Я также знаю, что в Твиттере есть метод аутентификации Pin Based (oob). Я подумал, что это был путь к этому приложению, но я хочу убедиться, что это не является бесшовным. Это требует, чтобы пользователь вышел за пределы приложения и получил пин-код. Это также не так безопасно, так как возвращенный токен доступа никогда не истекает.

Я использую компоненты Indy v10 для выполнения операций GET / POST, поэтому мне интересно, есть ли способ сделать это, используя их и возможность сделать обратный вызов и не использовать метод аутентификации Pin.

Кто-нибудь может мне помочь?

Также я пытался заставить класс Чака Бизли работать в Twitter в Delphi 7 с Indy v10, и у меня были проблемы. IdObjs и Idsys больше не существуют. Кто-нибудь получил этот класс для работы с моим сценарием? Спасибо, Дэвид

Ответы [ 3 ]

4 голосов
/ 22 октября 2010

OAuth - это стандарт, используемый для веб-приложений, его текст обильно усеян словом «агент», означающим браузер. Лучшее решение IMHO - по возможности, иметь URL обратного вызова, то есть у вас есть собственный сайт, который предоставляет сервис для поддержки функциональности вашего приложения. Есть сервисы, которые уже делают это возможным для третьих лиц, например JanRain . Если эти варианты неосуществимы (то есть вы не можете предоставить истинный WWW-сайт для URL-адреса обратного вызова) неосуществимы, тогда единственным вариантом будет действительно внеполосная аутентификация, oob. Даже не думайте о том, что аутентификация OAuth перезвонит приложению, прослушивающему какой-либо порт, что совершенно ненадежно для 1) Подавляющее большинство приложений будет находиться за неким типом устройства NAT (маршрутизатор, исходящий прокси-сервер), что делает их недоступными для провайдер OAuth и 2) брандмауэр ОС заблокирует ваши входящие звонки.

1 голос
/ 15 июня 2012

Тем временем класс Бисли в Твиттере был расширен / обновлен; см последнее воплощение

Я запустил библиотеку, которая использует Synapse для доступа к твиттеру. Он может использовать OOB / PIN-аутентификацию и предопределенный токен / секретный код. Он может быть расширен для использования аутентификации на основе браузера. В настоящее время написано с использованием FPC, но должно легко адаптироваться к Delphi. Код FPCTwit

0 голосов
/ 27 февраля 2011

Вы можете попробовать мой вариант в твиттере, поддерживает Unicode, а также в отличие от других реализаций Delphi:

http://eden.fm/2011/02/27/twitter-library-for-delphi/

Я не использую Indy, но ICS

...