LP#1996908: Expand support for eg.auth.token to other legacy mod_perl handlers (but...
authorMike Rylander <mrylander@gmail.com>
Thu, 1 Dec 2022 19:41:34 +0000 (14:41 -0500)
committerJason Boyer <JBoyer@equinoxOLI.org>
Sun, 5 Mar 2023 20:14:47 +0000 (15:14 -0500)
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>

Open-ILS/src/perlmods/lib/OpenILS/Reporter/Proxy.pm
Open-ILS/src/perlmods/lib/OpenILS/WWW/BadDebt.pm
Open-ILS/src/perlmods/lib/OpenILS/WWW/Exporter.pm
Open-ILS/src/perlmods/lib/OpenILS/WWW/PhoneList.pm
Open-ILS/src/perlmods/lib/OpenILS/WWW/Proxy.pm
Open-ILS/src/perlmods/lib/OpenILS/WWW/Reporter.pm
Open-ILS/src/perlmods/lib/OpenILS/WWW/Vandelay.pm

index cf5e9b0..cd935cd 100644 (file)
@@ -29,7 +29,10 @@ sub child_init {
 sub handler {
     my $apache = shift;
     my $cgi = new CGI;
-    my $auth_ses = $cgi->cookie('ses');
+    my $auth_ses = $cgi->cookie('ses') || $cgi->cookie('eg.auth.token');
+    if ($auth_ses =~ /^"(.+)"$/) {
+        $auth_ses = $1;
+    }
     my $ws_ou = $cgi->cookie('ws_ou') || 1;
 
     my $url = $cgi->url;
index 523b6d4..5f5aea2 100644 (file)
@@ -43,7 +43,10 @@ sub child_init {
 sub handler {
     my $r = shift;
     my $cgi = new CGI;
-    my $auth_ses = $cgi->cookie('ses') || $cgi->param('ses');
+    my $auth_ses = $cgi->cookie('ses') || $cgi->param('ses') || $cgi->cookie('eg.auth.token');
+    if ($auth_ses =~ /^"(.+)"$/) {
+        $auth_ses = $1;
+    }
 
     # find some IDs ...
     my @xacts;
index 576dffd..51e116c 100644 (file)
@@ -95,7 +95,10 @@ sub handler {
             return Apache2::Const::NOT_FOUND;
         }
         if ($bucket->pub !~ /t|1/oi) {
-            my $authid = $cgi->cookie('ses') || $cgi->param('ses');
+            my $authid = $cgi->cookie('ses') || $cgi->param('ses') || $cgi->cookie('eg.auth.token');
+            if ($authid =~ /^"(.+)"$/) {
+                $authid = $1;
+            }
             my $auth = verify_login($authid);
             if (!$auth) {
                 return 403;
@@ -111,7 +114,10 @@ sub handler {
     my $queue_id = $cgi->param('queueid');
     if ($queue_id) {
         # check that we're logged in -- XXX necessary? conservative for now
-        my $authid = $cgi->cookie('ses') || $cgi->param('ses');
+        my $authid = $cgi->cookie('ses') || $cgi->param('ses') || $cgi->cookie('eg.auth.token');
+        if ($authid =~ /^"(.+)"$/) {
+            $authid = $1;
+        }
         my $auth = verify_login($authid);
         if (!$auth) {
             return 403;
index 6e6c9fd..1b2b149 100644 (file)
@@ -60,7 +60,10 @@ sub child_init {
 sub handler {
     my $r = shift;
     my $cgi = new CGI;
-    my $authid = $cgi->cookie('ses') || $cgi->param('ses');
+    my $authid = $cgi->cookie('ses') || $cgi->param('ses') || $cgi->cookie('eg.auth.token');
+    if ($authid =~ /^"(.+)"$/) {
+        $authid = $1;
+    }
     my $user = $U->simplereq('open-ils.auth', 'open-ils.auth.session.retrieve', $authid);
     if (!$user || (ref($user) eq 'HASH' && $user->{ilsevent} == 1001)) {
         return Apache2::Const::FORBIDDEN;
index 74c4604..53da9d4 100644 (file)
@@ -72,7 +72,10 @@ sub handler {
     return Apache2::Const::NOT_FOUND unless (@$perms);
 
     my $cgi = new CGI;
-    my $auth_ses = $cgi->cookie('ses') || $cgi->param('ses');
+    my $auth_ses = $cgi->cookie('ses') || $cgi->param('ses') || $cgi->cookie('eg.auth.token');
+    if ($auth_ses =~ /^"(.+)"$/) {
+        $auth_ses = $1;
+    }
     my $ws_ou = $apache->dir_config('OILSProxyLoginOU') || $cgi->cookie('ws_ou') || $cgi->param('ws_ou');
 
     my $url = $cgi->url;
index 882c12d..92a76d4 100644 (file)
@@ -70,7 +70,12 @@ sub handler {
     my $user;
 
     # if the user is not logged in via cookie, route them to the login page
-    if(! ($user = verify_login($cgi->cookie("ses"))) ) {
+    my $auth_ses = $cgi->param('ses') || $cgi->cookie('ses') || $cgi->cookie('eg.auth.token');
+    if ($auth_ses =~ /^"(.+)"$/) { # came from eg2 login, is json encoded
+        $auth_ses = $1;
+    }
+
+    if(! ($user = verify_login($auth_ses)) ) {
         $ttk = "login";
     }
 
index 85a5884..b2a6fca 100644 (file)
@@ -58,7 +58,10 @@ sub spool_marc {
     my $r = shift;
     my $cgi = new CGI;
 
-    my $auth = $cgi->param('ses') || $cgi->cookie('ses');
+    my $auth = $cgi->param('ses') || $cgi->cookie('ses') || $cgi->cookie('eg.auth.token');
+    if ($auth =~ /^"(.+)"$/) {
+        $auth = $1;
+    }
 
     unless(verify_login($auth)) {
         $logger->error("authentication failed on vandelay record import: $auth");
@@ -123,7 +126,10 @@ sub spool_jacket {
     my $r = shift;
     my $cgi = new CGI;
 
-    my $auth = $cgi->param('ses') || $cgi->cookie('ses');
+    my $auth = $cgi->param('ses') || $cgi->cookie('ses') || $cgi->cookie('eg.auth.token');
+    if ($auth =~ /^"(.+)"$/) {
+        $auth = $1;
+    }
     my $user = verify_login($auth);
     my $perm_check = verify_permission($auth, $user, $user->ws_ou, ['UPLOAD_COVER_IMAGE']);