Это разумный подход для проверки подлинности HTTP BASIC с ключом API? - PullRequest
0 голосов
/ 18 января 2009

Я только начал добавлять REST API в приложение rails, и так как я хотел представить только пару контроллеров / действий, я добавил метод в ApplicationController:

  def http_basic_authentication
    if request.format == Mime::XML
      authenticate_or_request_with_http_basic do |username, api_key|
        self.current_user = User.find(:first, :from => 'users, accounts', :conditions => ["accounts.id = users.account_id AND accounts.api_key = ?", api_key])
      end
    end
  end

Что я могу затем использовать с before_filter на моем отдельном контроллере / действиях, которые я хочу выставить. У кого-нибудь есть отзывы, обзор кода или лучший подход?

Ответы [ 2 ]

1 голос
/ 18 января 2009

Возможно, это будет чище:

self.current_user = Account.find_by_api_key(api_key).user
0 голосов
/ 12 февраля 2010

Вы можете найти полезный подход подробно здесь http://www.compulsivoco.com/2009/05/rails-api-authentication-using-restful-authentication/

Это интегрируется с общим плагином restful_authentication.

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