Несколько схем аутентификации с Devise и Rails 3 - PullRequest
2 голосов
/ 30 мая 2011

Это, вероятно, распространенный вопрос, но я нигде не видел полных ответов на него:

У меня есть приложение Rails 3, которое использует Devise для аутентификации в Интернете и работает нормально. Все действия на всех контроллерах проходят проверку подлинности, а маршруты все успокоены. Пользователи перенаправляются на веб-страницу, чтобы ввести свое имя пользователя и пароль, а затем могут получить доступ к ресурсам.

Теперь мне нужно добавить API в систему. Большинство контроллеров / действий будут распределены между пользователями сети и API, но пользователи API будут иметь другую схему аутентификации (возможно, ключи API).

Итак, если веб-пользователь переходит на

/projects/1/users

чтобы увидеть пользователей в Интернете, пользователь API должен перейти на

/api/v1/projects/1/users

чтобы увидеть то же самое с параметром типа APIKey = abcd .... либо в заголовке, либо в параметрах, чтобы разрешить аутентификацию.

Я знаю, что решение заключается в переопределении SessionController и Routes, но нигде не могу найти подробный ответ об этом.

1 Ответ

1 голос
/ 17 июня 2011

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

http://rdoc.info/github/plataformatec/devise/master/Devise/Models/TokenAuthenticatable

...