Какие подходы мы можем использовать для обеспечения чистого доступа как к клиентам API, так и к обычным пользователям в приложении Rails? - PullRequest
3 голосов
/ 28 апреля 2011

Мы создаем веб-приложение на Rails 3, которое должно будет авторизовать и аутентифицировать обычных пользователей, посещающих сайт. Те же пользователи могут также использовать сторонние приложения для доступа к сайту через наш API.

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

В идеале мы ищем решение, которое:

  • хорошо работает с Devise и CanCan (которые мы уже используем для authn / authz)
  • хорошо играет с Mongoid
  • не загрязняет наши контроллеры
  • относительно прост в установке и настройке, если это гем или плагин
  • легко тестируется, если это общая стратегия; или уже протестирован, если это гем или плагин

1 Ответ

0 голосов
/ 02 мая 2011

Поскольку вы уже используете Devise, взгляните на стратегию token_authenticatable (добавьте ее в свою модель пользователя и убедитесь, что init devise отражает то, что вы называете параметром токена).

Вы также захотите добавить: "before_save: sure_authentication_token" в свою модель пользователя (при условии, что вы не хотите, чтобы это было одноразовое использование).

Просто предоставьте своему пользователю свои токены, например, на странице своего профиля или где-либо еще. Назовите это токен API, если хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...