Как аутентифицировать пользователя, если он не использует мое веб-приложение (например, API) - PullRequest
1 голос
/ 15 марта 2012

Я создал приложение Rails (3.2), которое использует гем OmniAuth для обеспечения аутентификации OAuth.Пользователи могут войти на сайт, используя свои учетные данные в Twitter, Facebook или Google, довольно стандартную функциональность.

Теперь я хочу сделать данные доступными через API, чтобы они могли использоваться вне моего веб-приложения, однакопользователям все равно придется входить в систему, чтобы иметь доступ к своим данным.Как мне сделать это в моем приложении Rails?И что пользователь должен сделать, чтобы иметь возможность вызвать это?

ОБНОВЛЕНИЕ Некоторые люди предлагают «альтернативные» методы аутентификации, но мне интересно, не могу ли я использовать те же учетные данные OAuth, которые у меня уже есть для них.Я не хочу, чтобы они указывали другое имя пользователя / pwd, я хочу, чтобы они могли использовать свои идентификаторы Twitter, Facebook или Google так же, как и при использовании WebUI.

Ответы [ 2 ]

0 голосов
/ 15 марта 2012

Devise имеет функцию аутентификации токена, которая является тем, что вы ищете.

Также посетите http://zyphmartin.com/blog/simple-auth-token-example-with-devise

0 голосов
/ 15 марта 2012

authenticate_with_http_basic (или дайджест, если хотите) может работать для вас, вызывается из фильтра before в контроллере.

Вы можете проверить с помощью curl, используя параметр --user.

Вот хорошая тема по теме: В Ruby on Rails, что делает authenticate_with_http_basic?

...