Дайджест аутентификации в Devise - PullRequest
5 голосов
/ 05 марта 2011

Я использую Rails 3 и Devise для аутентификации.У меня есть правильное рабочее устройство для веб-сайта и базовая аутентификация для API (обработчик json).Как мне включить дайджест-проверку подлинности?

Их вики подсказывают мне добавить

def http_authenticate
  authenticate_or_request_with_http_digest do |user_name, password|
    user_name == "foo" && password == "bar"
  end
  warden.custom_failure! if performed?
end

Где я могу добавить его и как сопоставить имя пользователя / пароль?

1 Ответ

1 голос
/ 13 июля 2011

Эта запись в вики предполагает много.

Я думаю, вам нужно добавить ее в соответствующий контроллер (или контроллер приложения, если вы хотите его для всего).

Изатем добавьте: before_filter: http_authenticate!Вы также можете попробовать отследить человека, написавшего эту вики-страницу, и спросить его.

Примечание.В этом случае для проверки подлинности используется Warden - Devise обрабатывает только учетные записи.

Одна из причин, по которой этот материал недостаточно хорошо документирован, заключается в том, что большинство людей используют сложную систему управления проверкой подлинности (например, OmniAuth) и что-то ещедля разрешения / авторизации, например.DeclarativeAuthorization или CanCan, если вы предпочитаете что-то более легкое.

HTTPBasic (и я предполагаю, что Digest), как правило, не очень хорошо с ними работает.

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