use FS::CurrentUser;
use FS::Auth;
+#Apache 2.2 and below
+sub useragent_ip {
+ my( $self, $r ) = @_;
+ $r->connection->remote_ip;
+}
+
sub authen_cred {
my( $self, $r, $username, $password ) = @_;
preuser_setup();
- unless ( _is_valid_user($username, $password) ) {
- warn "failed auth $username from ". $r->connection->remote_ip. "\n";
+ my $info = {};
+
+ unless ( FS::Auth->authenticate($username, $password, $info) ) {
+ warn "failed auth $username from ". $self->useragent_ip($r). "\n";
return undef;
}
- warn "authenticated $username from ". $r->connection->remote_ip. "\n";
+ warn "authenticated $username from ". $self->useragent_ip($r). "\n";
- FS::CurrentUser->load_user($username);
+ FS::CurrentUser->load_user( $username,
+ 'autocreate' => FS::Auth->auth_class->autocreate,
+ %$info,
+ );
FS::CurrentUser->new_session;
}
-sub _is_valid_user {
- my( $username, $password ) = @_;
-
- FS::Auth->authenticate($username, $password);
-}
-
sub authen_ses_key {
my( $self, $r, $sessionkey ) = @_;
my $curuser = FS::CurrentUser->load_user_session( $sessionkey );
unless ( $curuser ) {
- warn "bad session $sessionkey from ". $r->connection->remote_ip. "\n";
+ warn "bad session $sessionkey from ". $self->useragent_ip($r). "\n";
return undef;
}