From 268aee92064036c3e6f90bfcdce5e1d4f6738da0 Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Thu, 2 Mar 2017 16:40:11 +0000 Subject: [PATCH] Enable Shibboleth for Plack https://bugs.koha-community.org/show_bug.cgi?id=17776 --- C4/Auth_with_shibboleth.pm | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/C4/Auth_with_shibboleth.pm b/C4/Auth_with_shibboleth.pm index cde0ede..3063941 100644 --- a/C4/Auth_with_shibboleth.pm +++ b/C4/Auth_with_shibboleth.pm @@ -25,6 +25,7 @@ use Koha::AuthUtils qw(get_script_name); use Koha::Database; use Carp; use CGI; +use List::Util qw(any); use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $debug); @@ -80,9 +81,14 @@ sub get_login_shib { my $config = _get_shib_config(); my $matchAttribute = $config->{mapping}->{ $config->{matchpoint} }->{is}; - $debug and warn $matchAttribute . " value: " . $ENV{$matchAttribute}; - return $ENV{$matchAttribute} || ''; + if ( any { /(^psgi|^plack)/i } keys %ENV ) { + $debug and warn $matchAttribute . " value: " . $ENV{"HTTP_".uc($matchAttribute)}; + return $ENV{"HTTP_".uc($matchAttribute)} || ''; + } else { + $debug and warn $matchAttribute . " value: " . $ENV{$matchAttribute}; + return $ENV{$matchAttribute} || ''; + } } # Checks for password correctness @@ -217,11 +223,20 @@ Map their attributes to what you want to see in koha Tell apache that we wish to allow koha to authenticate via shibboleth. -This is as simple as adding the below to your virtualhost config: +This is as simple as adding the below to your virtualhost config (for CGI running): + + + AuthType shibboleth + Require shibboleth + + +Or (for Plack running): AuthType shibboleth Require shibboleth + ShibUseEnvironment Off + ShibUseHeaders On =item 5. -- 2.1.4