Как работают маркеры доступа 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 связан с аутентификацией и довольно читабелен.