2012-03-06 4 views
0

Я создал пользовательский поставщик OAuth, используя oauth-plugin. Я хотел бы создать API-провайдера, который предоставляет доступ к пользовательским данным, но я не уверен, как правильно построить запрос API.Как использовать токены доступа OAuth для запросов API?

Я заметил, что несколько стратегий, в том числе OmniAuth Twitter, Linkedin и Vimeo, пользовательские данные доступа из своих API, через access_token.get, но эти вызовы API, как представляется, общий характер, а не к конкретному пользователю.

Что-то в вызове идентифицирует пользователя API? Если нет, как распознается пользователь?

+0

Любопытно, почему это оправдывает нисходящее движение? – zeantsoi

ответ

1

В трехстороннем OAuth маркер доступа идентифицирует и принадлежит пользователю.

Я написал сообщение в блоге using oauth-plugin with rails to create an OAuth provider.

Если вы будете следовать учебник и использовать oauthenticate :interactive=>false для защиты вашего API, то вы будете иметь доступ к методу current_user, который позволит вам относиться к пользователю, как если бы они вошли в систему.

Вы можете прочитать официальное spec в http://tools.ietf.org/html/draft-ietf-oauth-v2-23 Раздел 4 связан с аутентификацией и является достаточно читаемым.

+0

'oauthenticate: interactive => false' именно то, что я искал, поскольку он позволяет моему действию контроллера API получить доступ к зарегистрированному в' current_user'. Кроме того, мне удалось заставить все работать без явного определения 'current_user' в контроллере приложений, как это было в вашем сообщении в блоге. Я считаю, что это связано с тем, что у Devise есть встроенный метод удобства, но он зависит от версии. – zeantsoi

+0

@zeantsoi Спасибо, что указали это! Я проверю это, когда настанет время. – Gazler

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