2012-05-04 2 views
1

Я подключаюсь к нескольким службам, защищенным OAuth, и пытаюсь понять, как работают две мои клиентские библиотеки Oauth по-разному.Несоответствия в реализации клиента OAuth

Одна из библиотек - это общий клиент OAuth, для которого требуется как ключ ключа/секретной пары доступа, так и ключ/секретная пара потребителей, чтобы генерировать подписанные запросы.

Другая библиотека - это особый клиент OAuth для Facebook и требует только токена доступа без секретности, а также никакого токена или ключа потребителя для подписания запросов.

Является ли реализация Facebook OAuth настолько различной, что требуется только один из 4 элементов, необходимых для других реализаций OAuth для подписи запросов?

ответ

2

Общая информация, которую вы упомянули, предназначена для использования с спецификацией OAuth 1.0a. Хотя API-интерфейс Facebook основан на OAuth 2.

Две «версии» OAuth сильно отличаются друг от друга. Основное различие заключается в том, что вы отмечаете, что в OAuth 2 нет понятия криптографии уровня запроса (без ошибок подписи). Спецификация вместо этого полагается на абсолютно требование, чтобы конечные точки API использовали безопасный транспортный уровень (HTTPS/SSL).

Поскольку OAuth 2 только недавно созрел в более стабильном проекте, вы обнаружите, что поставщики услуг основывают свои реализации на разных черновиках, тогда как OAuth 1.0 более стабилен с точки зрения реализации сервера.

Этот вопрос должен дать вам хорошее представление: How is OAuth 2 different from OAuth 1?.

+0

Jon- спасибо, понятия не имел, я имел дело с 2 очень разными версиями. Теперь я могу начать развязывать узел в моей голове. – Yarin

Смежные вопросы