discourse/lib/auth/authenticator.rb

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