Как работают маркеры доступа OAuth для запросов API?

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

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

Делает что-то в access_token.getпозвонить идентифицировать пользователя к API? Если нет, как пользователь распознается?

1 ответ

Решение

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

Я написал сообщение в блоге об использовании oauth-plugin с rails для создания OAuth-провайдера.

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

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

Другие вопросы по тегам