1
0
Fork 0
mirror of https://github.com/heartcombo/devise.git synced 2022-11-09 12:18:31 -05:00
heartcombo--devise/lib/devise/strategies/authenticatable.rb

37 lines
998 B
Ruby
Raw Normal View History

2009-12-07 17:26:00 -05:00
require 'devise/strategies/base'
2009-10-18 09:15:23 -04:00
module Devise
module Strategies
# Default strategy for signing in a user, based on his email and password.
# Redirects to sign_in page if it's not authenticated
2010-01-14 09:47:14 -05:00
class Authenticatable < Base
def valid?
valid_controller? && valid_params?
end
2009-10-18 09:15:23 -04:00
# Authenticate a user based on email and password params, returning to warden
# success and the authenticated user if everything is okay. Otherwise redirect
# to sign in page.
def authenticate!
if resource = mapping.to.authenticate(params[scope])
success!(resource)
2009-10-18 09:15:23 -04:00
else
fail(:invalid)
2009-10-18 09:15:23 -04:00
end
end
protected
def valid_controller?
mapping.controllers[:sessions] == params[:controller]
end
def valid_params?
params[scope] && params[scope][:password].present?
end
2009-10-18 09:15:23 -04:00
end
end
end
Warden::Strategies.add(:authenticatable, Devise::Strategies::Authenticatable)