package fees and usage-based fees, #27687, #25899
[freeside.git] / FS / FS / AuthCookieHandler.pm
index a8ee370..b571e47 100644 (file)
@@ -4,34 +4,28 @@ use base qw( Apache2::AuthCookie );
 use strict;
 use FS::UID qw( adminsuidsetup preuser_setup );
 use FS::CurrentUser;
-
-my $module = 'legacy'; #XXX i am set in a conf somehow?  or a config file
+use FS::Auth;
 
 sub authen_cred {
   my( $self, $r, $username, $password ) = @_;
 
-  unless ( _is_valid_user($username, $password) ) {
+  preuser_setup();
+
+  my $info = {};
+
+  unless ( FS::Auth->authenticate($username, $password, $info) ) {
     warn "failed auth $username from ". $r->connection->remote_ip. "\n";
     return undef;
   }
 
   warn "authenticated $username from ". $r->connection->remote_ip. "\n";
-  adminsuidsetup($username);
-
-  FS::CurrentUser->new_session;
 
-}
-
-sub _is_valid_user {
-  my( $username, $password ) = @_;
-  my $class = 'FS::Auth::'.$module;
-
-  #earlier?
-  eval "use $class;";
-  die $@ if $@;
-
-  $class->authenticate($username, $password);
+  FS::CurrentUser->load_user( $username,
+                              'autocreate' => FS::Auth->auth_class->autocreate,
+                              %$info,
+                            );
 
+  FS::CurrentUser->new_session;
 }
 
 sub authen_ses_key {
@@ -47,7 +41,6 @@ sub authen_ses_key {
   }
 
   $curuser->username;
-
 }
 
 1;