From 6d265eddd549e437174766c7c81a30d1b3d31ab2 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Wed, 22 May 2024 10:58:44 -0400 Subject: [PATCH] Bug 36928: Followup for CAS and Shibboleth --- C4/Auth.pm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/C4/Auth.pm b/C4/Auth.pm index 863769cd609..cb15e5107db 100644 --- a/C4/Auth.pm +++ b/C4/Auth.pm @@ -1986,6 +1986,7 @@ sub checkpw { ( $retval, $retcard, $retuserid, $ldap_patron ) = checkpw_ldap(@_); # EXTERNAL AUTH if ( $retval == 1 ) { @return = ( $retval, $retcard, $retuserid, $ldap_patron ); + $patron = $ldap_patron; $passwd_ok = 1; } $check_internal_as_fallback = 1 if $retval == 0; @@ -1995,10 +1996,11 @@ sub checkpw { # In case of a CAS authentication, we use the ticket instead of the password my $ticket = $query->param('ticket'); $query->delete('ticket'); # remove ticket to come back to original URL - my ( $retval, $retcard, $retuserid, $cas_ticket, $patron ) = + my ( $retval, $retcard, $retuserid, $cas_ticket, $cas_patron ) = checkpw_cas( $ticket, $query, $type ); # EXTERNAL AUTH if ($retval) { - @return = ( $retval, $retcard, $retuserid, $patron, $cas_ticket ); + @return = ( $retval, $retcard, $retuserid, $cas_patron, $cas_ticket ); + $patron = $cas_patron; } else { @return = (0); } @@ -2016,10 +2018,11 @@ sub checkpw { # Then, we check if it matches a valid koha user if ($shib_login) { - my ( $retval, $retcard, $retuserid, $patron ) = + my ( $retval, $retcard, $retuserid, $shib_patron ) = C4::Auth_with_shibboleth::checkpw_shib($shib_login); # EXTERNAL AUTH if ($retval) { @return = ( $retval, $retcard, $retuserid, $patron ); + $patron = $shib_patron; } $passwd_ok = $retval; } -- 2.30.2