Rails, Devise e Basic HTTP Auth, Oh My!

Veja como fazer com que a autenticação http básica funcione em rails com o devise:

devise.rb

config.http_authenticatable = true

application_controller.rb

before_filter :authenticate

def authenticate
authenticate_or_request_with_http_basic
do |email, password|
user
= User.where(email: email).first
!user.nil? && user.valid_password?(password)
end
warden
.custom_failure! if performed?
end