major refactor of auth, break up the gigantic omniauth controller into sub classes for way better extensibitily

This commit is contained in:
Sam
2013-08-23 16:20:43 +10:00
parent 90dddb4395
commit b52aba15e0
11 changed files with 407 additions and 394 deletions

24
lib/auth/authenticator.rb Normal file
View File

@ -0,0 +1,24 @@
# this class is used by the user and omniauth controllers, it controls how
# an authentication system interacts with our database
module Auth; end
require 'auth/result'
class Auth::Authenticator
def after_authenticate(auth_options)
raise NotImplementedError
end
# can be used to hook in afete the authentication process
# to ensure records exist for the provider in the db
# this MUST be implemented for authenticators that do not
# trust email
def after_create_account(user, auth)
# not required
end
def lookup_user(user_info, email)
user_info.try(:user) || User.where(email: email).first
end
end