X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=C4%2FAuth_with_cas.pm;h=46cb1ecd17b898675e2e641e6214aff151d1d546;hb=b0870311e1b8fae10a6ab17d0e132e911c3ab3aa;hp=b09623295c2511f903d95818cdcd2849a577e339;hpb=c8df6bdcc9fe2523a77c839270b31304d8e13ee5;p=koha_fer diff --git a/C4/Auth_with_cas.pm b/C4/Auth_with_cas.pm index b09623295c..46cb1ecd17 100644 --- a/C4/Auth_with_cas.pm +++ b/C4/Auth_with_cas.pm @@ -22,7 +22,6 @@ use warnings; use C4::Debug; use C4::Context; -use C4::Utils qw( :all ); use Authen::CAS::Client; use CGI; use FindBin; @@ -32,7 +31,7 @@ use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $debug); BEGIN { require Exporter; - $VERSION = 3.03; # set the version for version checking + $VERSION = 3.07.00.049; # set the version for version checking $debug = $ENV{DEBUG}; @ISA = qw(Exporter); @EXPORT = qw(check_api_auth_cas checkpw_cas login_cas logout_cas login_cas_url); @@ -66,7 +65,7 @@ sub getMultipleAuth { # Logout from CAS sub logout_cas { my ($query) = @_; - my $uri = $ENV{'SCRIPT_URI'}; + my $uri = C4::Context->preference('OPACBaseURL') . $query->script_name(); my $casparam = $query->param('cas'); # FIXME: This should be more generic and handle whatever parameters there might be $uri .= "?cas=" . $casparam if (defined $casparam); @@ -78,7 +77,7 @@ sub logout_cas { # Login to CAS sub login_cas { my ($query) = @_; - my $uri = $ENV{'SCRIPT_URI'}; + my $uri = C4::Context->preference('OPACBaseURL') . $query->script_name(); my $casparam = $query->param('cas'); # FIXME: This should be more generic and handle whatever parameters there might be $uri .= "?cas=" . $casparam if (defined $casparam); @@ -91,10 +90,8 @@ sub login_cas { sub login_cas_url { my ($query, $key) = @_; - my $uri = $ENV{'SCRIPT_URI'}; + my $uri = C4::Context->preference('OPACBaseURL') . $query->url( -absolute => 1, -query => 1 ); my $casparam = $query->param('cas'); - # FIXME: This should be more generic and handle whatever parameters there might be - $uri .= "?cas=" . $casparam if (defined $casparam); $casparam = $defaultcasserver if (not defined $casparam); $casparam = $key if (defined $key); my $cas = Authen::CAS::Client->new($casservers->{$casparam}); @@ -107,7 +104,7 @@ sub checkpw_cas { $debug and warn "checkpw_cas"; my ($dbh, $ticket, $query) = @_; my $retnumber; - my $uri = $ENV{'SCRIPT_URI'}; + my $uri = C4::Context->preference('OPACBaseURL') . $query->script_name(); my $casparam = $query->param('cas'); # FIXME: This should be more generic and handle whatever parameters there might be $uri .= "?cas=" . $casparam if (defined $casparam); @@ -145,7 +142,10 @@ sub checkpw_cas { $debug and warn "User $userid is not a valid Koha user"; } else { - $debug and warn "Invalid session ticket : $ticket"; + $debug and warn "Problem when validating ticket : $ticket"; + $debug and warn "Authen::CAS::Client::Response::Error: " . $val->error() if $val->is_error(); + $debug and warn "Authen::CAS::Client::Response::Failure: " . $val->message() if $val->is_failure(); + $debug and warn Data::Dumper::Dumper($@) if $val->is_error() or $val->is_failure(); return 0; } } @@ -157,7 +157,7 @@ sub check_api_auth_cas { $debug and warn "check_api_auth_cas"; my ($dbh, $PT, $query) = @_; my $retnumber; - my $url = $query->url(); + my $url = C4::Context->preference('OPACBaseURL') . $query->script_name(); my $casparam = $query->param('cas'); $casparam = $defaultcasserver if (not defined $casparam);