API LinkedIn + WebKit

Я пытаюсь использовать библиотеку OAuthConsumer для Cocoa для подключения к учетным записям пользователей LinkedIn.

Следуя шагам, предоставленным первоначальным автором OAuthConsumer, я настроил request token и указал WebView на полученный URL-адрес.

Теперь с другими сервисами, для которых я использовал OAuthConsumer (Twitter, Facebook и т. д.), эта часть работает нормально. Пользователь входит в систему, аутентифицирует приложение, а затем мой код убивает WebView и меняет только что авторизованный request token на access token.

Однако с LinkedIn я получаю сообщение об ошибке «Нам не удалось найти токен авторизации». Нет больше информации; нет кодов ошибок. Просто аккуратно оформленная веб-страница, полная бесполезности.

Страница ошибки LinkedIn

Таким образом, я в конечном итоге понятия не имею, где даже начинать отладку этой проблемы, и является ли это проблемой с моим кодом вообще. В нескольких второстепенных зацепках, которые мне удалось найти на форумах LinkedIn, говорится, что моя «отметка времени может быть отключена» (хотя, не согласно Конвертер эпох), и я должен проверить "временную метку в ответе". Мне кажется красной селедкой.

Изменить:

Сессия Чарльза


person Patrick Perini    schedule 25.10.2011    source источник
comment
Вы должны использовать Charles Proxy (или подобное приложение) для анализа связи между вашим приложением и сервером.   -  person titaniumdecoy    schedule 25.10.2011
comment
@titaniumdecoy, кажется, нет ничего особенного в трафике. Любая идея, что я мог бы искать?   -  person Patrick Perini    schedule 25.10.2011
comment
Я использую MPOAuth для LinkedIn и других сервисов OAuth. И это работает как шарм. Не могли бы вы использовать Charlse Proxy, как предлагает титаниум, и опубликовать сообщение (я) здесь?   -  person Christian Beer    schedule 25.10.2011
comment
@ChristianBeer Я получаю много двоичного мусора для запроса и ответа, а также несколько довольно удобных временных меток и URL-адресов в обзоре. Что интересного я мог бы опубликовать?   -  person Patrick Perini    schedule 25.10.2011
comment
Я включил ссылку на соответствующий экспорт информации о сеансе от Чарльза; Надеюсь, поможет!   -  person Patrick Perini    schedule 25.10.2011
comment
@PatrickPerini: вам необходимо добавить рассматриваемый сервер в список серверов с поддержкой SSL в Charles Proxy (Прокси › Настройки прокси).   -  person titaniumdecoy    schedule 25.10.2011


Ответы (1)


Итак, получается, что параметром для возврата request token является "oauth_token", а не "token", как я использовал.

Обычно это просто комментарий о несоответствиях реализации OAuth и моем недосмотре. Тем не менее, я немного обеспокоен, поскольку было несколько случаев (в основном с использованием браузера), когда использование неправильного параметра в возвращаемом запросе срабатывало: серьезное несоответствие и потенциально серьезная оплошность со стороны LinkedIn.

Во всяком случае, сейчас это работает.

person Patrick Perini    schedule 25.10.2011