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 {
}
$curuser->username;
-
}
1;