25 lines
639 B
Ruby
25 lines
639 B
Ruby
# 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
|