Библиотека PHP OAuth 1.0, которая обрабатывает пару ключ/секрет API и конечные точки (запрос, авторизация и доступ)

Я работаю с API OAuth 1.0, который требует использования API KEY/PAIR. Кроме того, он дает мне 3 URL-адреса:

  • Конечная точка токена запроса: /oauth/request_token
  • Конечная точка авторизации: /oauth/authorize
  • Конечная точка токена доступа: /oauth/access_token

Вот что говорится в документации:


Мы используем самую последнюю спецификацию протокола OAuth 1.0 (RFC 5849) для аутентификации наших запросов API. Мы используем OAuth 1.0, поскольку это открытый стандарт, и мы адаптируем «трехсторонний» поток протокола клиент/пользователь/сервер OAuth 1.0 к «двухсторонней» модели клиент/сервер. В нашей адаптации OAuth для аутентифицированных клиент-серверных запросов клиент действует и как клиент API, и как пользователь (т. е. владелец запрошенного ресурса). Таким образом, вместо того, чтобы перенаправляться к клиенту с верификатором токена, клиент действует как пользователь и напрямую обращается к серверу для верификатора OAuth. Проверка доступности происходит, когда клиент запрашивает ресурс с сервера с токеном доступа, полученным с помощью ранее полученного верификатора. Вы можете повторно использовать токены доступа до истечения срока их действия (через два часа). По истечении срока действия токенов необходимо запросить новый токен доступа. Примеры пояснят это далее.


Я хотел бы найти библиотеку PHP OAuth, которая может использовать требования API, которые у меня есть для доступа к API сторонней компании. Я действительно не знаю, как это реализовать. Моя текущая мысль состоит в том, чтобы перепроектировать API facebook php, но я не знаю, использует ли он 3 конечные точки. Кроме того, некоторая помощь в том, чтобы заставить его работать или направить меня к ресурсу, где я могу понять это самостоятельно, была бы здоровой.

Спасибо!

** ПРИМЕЧАНИЕ. Я нашел это: нажмите здесь Может ли это быть решением, которое я ищу? ?


person somejkuser    schedule 06.07.2013    source источник


Ответы (1)


Facebook использует OAuth 2.0, поэтому об API не может быть и речи. Проверьте здесь некоторые основные справочники по API — BitBucket, Twitter и Например, все Yahoo используют v1.0a.

PHP имеет расширение OAuth, поэтому, если вы создаете собственное решение, вам обязательно должен начаться там. Библиотека, на которую вы ссылаетесь, обеспечивает двухсторонний OAuth Так что, на первый взгляд, это вариант для вас. Отказ от ответственности в последнем предложении: я не использовал эту библиотеку, однако я проверил документацию. Хорошее объяснение диаграмм последовательности UML можно найти здесь. Это просто общий OAuth, не специфичный для PHP, но дающий хорошее подробное объяснение. Этот репозиторий GitHub содержит повторно используемые клиенты для моих сервисов — вы также можете почерпнуть некоторые идеи оттуда, если ваши клиенты будут PHP.

Ваш случай кажется очень интересным и нет полного ответа на ваш вопрос. На вашем месте я бы сначала проверил код, стоящий за библиотекой Google Code oauth-php, на которую вы ссылаетесь в разделе Two-Legged (и не только). Затем решите, следует ли вам на самом деле использовать эту библиотеку, другую или пользовательскую реализацию. У вас также могут быть другие требования/демонстрации, которые могут повлиять на ваше решение (я знаю, что вы захотите вытолкнуть большие объемы данных из своего другого вопроса. ;)) 2-часовой токен - хорошая оптимизация производительности, но он слишком длинный аренды аутентификации/авторизации?

person Borislav Sabev    schedule 06.07.2013