From b3d0bef13650d830b2a3d832a404c2847e727166 Mon Sep 17 00:00:00 2001 From: Matthias Meusburger Date: Wed, 15 Nov 2017 10:50:27 +0000 Subject: [PATCH] Bug 19625: Enable Shibboleth auto-provisioning for Plack Test plan: 1. In $KOHA_CONF, check that //shibboleth/autocreate is set to 1 2. Find a user in Shibboleth that is not in Koha (or remove it from Koha) 3. Login with that user 4. Verify that the userid is not set correctly in Koha database 5. Apply the patch (restart starman) 6. Repeat steps 2 and 3 7. Verify that the userid is set correctly and the other mapped fields if there are some Signed-off-by: Julian Maurice Signed-off-by: Martin Renvoize Signed-off-by: Nick Clemens --- C4/Auth_with_shibboleth.pm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/C4/Auth_with_shibboleth.pm b/C4/Auth_with_shibboleth.pm index 0ff0d25604..24246d51ec 100644 --- a/C4/Auth_with_shibboleth.pm +++ b/C4/Auth_with_shibboleth.pm @@ -125,7 +125,11 @@ sub _autocreate { my %borrower = ( $config->{matchpoint} => $match ); while ( my ( $key, $entry ) = each %{$config->{'mapping'}} ) { - $borrower{$key} = ( $entry->{'is'} && $ENV{ $entry->{'is'} } ) || $entry->{'content'} || ''; + if ( any { /(^psgi|^plack)/i } keys %ENV ) { + $borrower{$key} = ( $entry->{'is'} && $ENV{"HTTP_" . uc($entry->{'is'}) } ) || $entry->{'content'} || ''; + } else { + $borrower{$key} = ( $entry->{'is'} && $ENV{ $entry->{'is'} } ) || $entry->{'content'} || ''; + } } my $patron = Koha::Patron->new( \%borrower )->store; -- 2.39.5