Diff for /loncom/auth/migrateuser.pm between versions 1.29 and 1.35

version 1.29, 2018/04/14 02:30:11 version 1.35, 2018/11/24 16:19:04
Line 69  sub sso_check { Line 69  sub sso_check {
             $extra_env{'request.sso.reloginserver'} =               $extra_env{'request.sso.reloginserver'} = 
                 $data->{'sso.reloginserver'};                  $data->{'sso.reloginserver'};
         }          }
           if (($data->{'balancer'}) && ($data->{'server'}) && ($data->{'balcookie'})) {
               $extra_env{'request.balancercookie'} = $data->{'server'}.':'.$data->{'balcookie'};
           }
     }      }
     return \%extra_env;      return \%extra_env;
 }  }
Line 94  sub lti_check { Line 97  sub lti_check {
             if ($data->{'lti.target'}) {              if ($data->{'lti.target'}) {
                 $lti_env{'request.lti.target'} = $data->{'lti.target'};                  $lti_env{'request.lti.target'} = $data->{'lti.target'};
             }              }
               if ($data->{'lti.sourcecrs'}) {
                   $lti_env{'request.lti.sourcecrs'} = $data->{'lti.sourcecrs'};
               }
         }          }
         if ($data->{'lti.passbackid'}) {          if ($data->{'lti.passbackid'}) {
             $lti_env{'request.lti.passbackid'} = $data->{'lti.passbackid'};              $lti_env{'request.lti.passbackid'} = $data->{'lti.passbackid'};
Line 214  sub ip_changed { Line 220  sub ip_changed {
                     }                      }
                 }                  }
             }              }
               unless ($hosthere) {
                   if (($dataref->{'balancer'}) && ($dataref->{'balcookie'})) {
                       &Apache::lonnet::delbalcookie($dataref->{'balcookie'},$dataref->{'balancer'});
                   }
               }
         }          }
         if ($dataref->{'sso.login'}) {          if ($dataref->{'sso.login'}) {
             $url .= '/adm/roles';              $url .= '/adm/roles';
Line 255  sub ip_changed { Line 266  sub ip_changed {
   
 sub logout {  sub logout {
     my ($r,$handle,$data,$lti_env) = @_;      my ($r,$handle,$data,$lti_env) = @_;
     unlink($handle);      my $lonidsdir=$r->dir_config('lonIDsDir');
     if ($env{'user.linkedenv'} ne '') {      if (unlink("$lonidsdir/$handle.id")) {
         my $lonidsdir=$r->dir_config('lonIDsDir');          if (($env{'user.linkedenv'} =~ /^[a-f0-9]+_linked$/) &&
         if ((-l $env{'user.linkedenv'}) &&              (-l "$lonidsdir/$env{'user.linkedenv'}.id") &&
             (readlink($env{'user.linkedenv'}) eq "$lonidsdir/$handle.id")) {              (readlink("$lonidsdir/$env{'user.linkedenv'}.id") eq "$lonidsdir/$handle.id")) {
             unlink($env{'user.linkedenv'});              unlink("$lonidsdir/$env{'user.linkedenv'}.id");
         }          }
     }      }
     my %temp=('logout' => time);      my %temp=('logout' => time);
Line 272  sub logout { Line 283  sub logout {
   
     &Apache::loncommon::content_type($r,'text/html');      &Apache::loncommon::content_type($r,'text/html');
   
     #expire the cookie      #expire the cookies
     my $c = new CGI::Cookie(-name    => 'lonID',      my %cookies=CGI::Cookie->parse($r->header_in('Cookie'));
                             -value   => '',      foreach my $name (keys(%cookies)) {
                             -expires => '-10y',);          next unless ($name =~ /^lon(|S|Link|Pub)ID$/);
     $r->headers_out->add('Set-cookie' => $c);          my $c = new CGI::Cookie(-name    => $name,
     if ($env{'user.linkedenv'}) {                                  -value   => '',
         my $linked = new CGI::Cookie(-name    => 'lonLinkID',                                  -expires => '-10y',);
                                      -value   => '',          $r->headers_out->add('Set-cookie' => $c);
                                      -expires => '-10y',);  
         $r->headers_out->add('Set-cookie' => $linked);  
     }      }
     my $lonhost = $r->dir_config('lonHostID');  
     my (%info,%user_info,%lti_info);      my (%info,%user_info,%lti_info);
     if (ref($lti_env) eq 'HASH') {      if (ref($lti_env) eq 'HASH') {
         %lti_info = %{$lti_env};          %lti_info = %{$lti_env};
Line 420  sub handler { Line 428  sub handler {
                         delete($lti_env->{'selfenrollrole'});                          delete($lti_env->{'selfenrollrole'});
                     }                      }
                     if ($data{'lti.selfenrollrole'}) {                      if ($data{'lti.selfenrollrole'}) {
                         if (&Apache::ltiauth::lti_enroll($data{'username'},data{'domain'},                          if (&Apache::ltiauth::lti_enroll($data{'username'},$data{'domain'},
                                                          $data{'lti.selfenrollrole'}) eq 'ok') {                                                           $data{'lti.selfenrollrole'}) eq 'ok') {
                             my $url = '/adm/roles?selectrole=1&'.                              my $url = '/adm/roles?selectrole=1&'.
                                       &escape($data{'lti.selfenrollrole'}).'=1';                                        &escape($data{'lti.selfenrollrole'}).'=1';
Line 480  sub handler { Line 488  sub handler {
  return OK;   return OK;
     }      }
   
     my $next_url='/adm/roles?selectrole=1&'.&escape($data{'role'}).'=1';      my $next_url='/adm/roles?selectrole=1&'.&escape($data{'role'}).'=1';
     if ($data{'origurl'} ne '') {      if ($data{'origurl'} ne '') {
         $next_url .= '&orgurl='.&escape($data{'origurl'});          $next_url .= '&orgurl='.&escape($data{'origurl'});
           if ($data{'lti.login'}) {
               if (($data{'origurl'} =~ m{/default_\d+\.sequence$}) ||
                   ($data{'origurl'} =~ m{^/res/.+\.sequence$})) {
                   $next_url .= '&navmap=1';
               }
           }
     }      }
     &Apache::lonauth::success($r,$data{'username'},$data{'domain'},$home,      &Apache::lonauth::success($r,$data{'username'},$data{'domain'},$home,
       $next_url,$extra_env,\%form);        $next_url,$extra_env,\%form);

Removed from v.1.29  
changed lines
  Added in v.1.35


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>