oAuth в PHP для выполнения двустороннего запроса

В настоящее время я застрял, пытаясь сделать запросы к API службы, используя двухсторонний запрос oAuth с использованием PHP.

Я использую библиотеку PHP, найденную здесь: http://code.google.com/p/oauth-php/ и, похоже, в Интернете нет абсолютно никакой документации по использованию этой библиотеки для двустороннего запроса.

Итак, на данный момент из службы у меня есть следующие данные:

  • $consumer_key — должна быть пустой строкой
  • $consumer_secret — должна быть пустой строкой
  • $access_token — мое имя для входа
  • $access_token_secretсгенерированный токен приложения

И я хочу иметь возможность сделать запрос на:

http://foo.com/api/test/whoami

Чтобы проверить, что аутентификация работает правильно, чтобы я мог использовать остальную часть API.

У кого-нибудь есть какие-либо указания о том, как использовать эту библиотеку php для достижения этой цели? или есть лучшие методы для простого двуногого вызова, подобного этому?

Помощь!? :)


person navitronic    schedule 30.09.2009    source источник
comment
Что вы подразумеваете под пустой строкой для ключа/секрета? Вам нужно какое-то значение, чтобы иметь возможность подписать запрос. Кроме того, вы обычно не используете токен доступа/секрет токена для двустороннего запроса — вы просто подписываете параметры секретом.   -  person madlep    schedule 04.10.2009
comment
Служба, с которой я аутентифицируюсь, требует для работы пустой ключ потребителя и секрет потребителя. Я не уверен, почему это так, но я почти разобрался с проблемами, надеюсь, смогу сформулировать ответ на свой вопрос через час или два...   -  person navitronic    schedule 05.10.2009
comment
Было ли найдено решение или ОП попал под автобус? 1 или 2 часа превратились в 4 месяца :)   -  person Ben    schedule 25.02.2010
comment
Нет, не сбил автобус. Хотя это было бы вполне уместно, учитывая, насколько раздражающим был этот процесс. Проект был сокращен из-за того, что это не сработало, а бюджет сорвался.   -  person navitronic    schedule 09.03.2010
comment
На самом деле есть действительно хорошая вики по двусторонним запросам для этой конкретной библиотеки в коде . google.com/p/oauth-php/wiki/ConsumerHowTo, извините, что немного опоздал :)   -  person Doug Molineux    schedule 26.08.2010


Ответы (2)


Этот небольшой пример может помочь http://developer.yahoo.com/blogs/ydn/posts/2010/04/a_twolegged_oauth_serverclient_example/

person User    schedule 02.09.2010
comment
Этот пример, похоже, запрашивает ключ сам по себе, мне кажется, нет ни одного реального API EndPoint, это всегда текущий скрипт. Все еще ищу простой простой пример на чистом php. - person FMaz008; 29.09.2011

Вам нужен только потребительский ключ и потребительский секрет, чтобы делать авторизованные двухсторонние запросы oauth.

Загрузите OAuthConsumer. (закомментируйте класс OAuthException строки 6-8)

Пример кода:

require_once 'OAuth.php';

$signatureMethod = new OAuthSignatureMethod_HMAC_SHA1();
$consumerKey = 'abc';
$consumerSecret = 'def';
$httpMethod = 'GET';
$url = 'http://path/to/endpoint';
$requestFields = array();

$oauthConsumer = new OAuthConsumer($consumerKey, $consumerSecret, NULL);
$oauthRequest = OAuthRequest::from_consumer_and_token($oauthConsumer, NULL, $httpMethod, $url, $requestFields);
$oauthRequest->sign_request($signatureMethod, $oauthConsumer, NULL);
person Muhammad Reda    schedule 16.02.2015