2
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2025-09-06 10:50:21 +08:00
discourse/lib/auth/authenticator.rb
Sam 213ce33af2 Fixed all broken specs
Moved middleware config into authenticators
2013-08-26 12:59:17 +10:00

26 lines
779 B
Ruby

# this class is used by the user and omniauth controllers, it controls how
# an authentication system interacts with our database and middleware
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
# hook used for registering omniauth middleware,
# without this we can not authenticate
def register_middleware(omniauth)
raise NotImplementedError
end
end