[prev in list] [next in list] [prev in thread] [next in thread] 

List:       lon-capa-cvs
Subject:    [LON-CAPA-cvs] cvs: loncom /auth lonshibauth.pm
From:       raeburn via LON-CAPA-cvs <lon-capa-cvs () mail ! lon-capa ! org>
Date:       2021-10-07 18:52:03
Message-ID: cvsraeburn1633632723 () cvsserver
[Download RAW message or body]

raeburn		Thu Oct  7 18:52:03 2021 EDT

  Modified files:              
    /loncom/auth	lonshibauth.pm 
  Log:
  - When /adm/login is used as landing page for user toggle between SSO or 
    non-SSO, URL of original destination named firsturl in query string.
  
  
Index: loncom/auth/lonshibauth.pm
diff -u loncom/auth/lonshibauth.pm:1.7 loncom/auth/lonshibauth.pm:1.8
--- loncom/auth/lonshibauth.pm:1.7	Thu Oct  7 15:51:16 2021
+++ loncom/auth/lonshibauth.pm	Thu Oct  7 18:52:03 2021
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Redirect Shibboleth authentication to designated URL (/adm/sso).
 #
-# $Id: lonshibauth.pm,v 1.7 2021/10/07 15:51:16 raeburn Exp $
+# $Id: lonshibauth.pm,v 1.8 2021/10/07 18:52:03 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -94,8 +94,16 @@
         if ($ENV{'QUERY_STRING'} ne '') {
             $dest .= '?'.$ENV{'QUERY_STRING'};
         }
-        unless (($uri eq '/adm/roles') || ($ENV{'QUERY_STRING'} =~ /origurl=/)) {
-            $dest.=(($dest=~/\?/)?'&':'?').'origurl='.$uri;
+        unless (($uri eq '/adm/roles') || ($uri eq '/adm/logout')) {
+            if ($target eq '/adm/login') {
+                unless ($ENV{'QUERY_STRING'} =~ /firsturl=/) {
+                    $dest.=(($dest=~/\?/)?'&':'?').'firsturl='.$uri;
+                }
+            } else {
+                unless ($ENV{'QUERY_STRING'} =~ /origurl=/)) {
+                    $dest.=(($dest=~/\?/)?'&':'?').'origurl='.$uri;
+                }
+            }
         }
         $r->header_out(Location => $dest);
         return REDIRECT;


_______________________________________________
LON-CAPA-cvs mailing list
LON-CAPA-cvs@mail.lon-capa.org
http://mail.lon-capa.org/mailman/listinfo/lon-capa-cvs
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic