Diff for /loncom/lti/ltiauth.pm between versions 1.6 and 1.8

version 1.6, 2018/03/23 01:01:47 version 1.8, 2018/04/14 02:30:07
Line 484  sub handler { Line 484  sub handler {
                     }                      }
                     if ($lcauth eq '') {                      if ($lcauth eq '') {
                         $lcauth = $lti{$itemid}{'lcauth'};                          $lcauth = $lti{$itemid}{'lcauth'};
                         $lcauthparm = $lti{$itemid}{'lcauthparm'};                          if ($lcauth eq 'internal') {
                               $lcauthparm = &create_passwd();
                           } else {
                               $lcauthparm = $lti{$itemid}{'lcauthparm'};
                           }
                     }                      }
                 } else {                  } else {
                     &invalid_request($r,12);                      &invalid_request($r,12);
Line 811  sub lti_session { Line 815  sub lti_session {
         &Apache::lonauth::success($r,$uname,$udom,$uhome,'noredirect');          &Apache::lonauth::success($r,$uname,$udom,$uhome,'noredirect');
         if ($symb) {          if ($symb) {
             $env{'form.symb'} = $symb;              $env{'form.symb'} = $symb;
               $env{'request.lti.uri'} = $symb;
         } else {          } else {
             if ($mapurl) {              if ($mapurl) {
                 $env{'form.origurl'} = $mapurl;                  $env{'form.origurl'} = $mapurl;
                   $env{'request.lti.uri'} = $mapurl;
             } elsif ($tail =~ m{^\Q/tiny/$cdom/\E\w+$}) {              } elsif ($tail =~ m{^\Q/tiny/$cdom/\E\w+$}) {
                 $env{'form.origurl'} = $tail;                  $env{'form.origurl'} = $tail;
                   $env{'request.lti.uri'} = $tail;
             } else {              } else {
                 unless ($tail eq '/adm/roles') {                  unless ($tail eq '/adm/roles') {
                     $env{'form.origurl'} = '/adm/navmaps';                      $env{'form.origurl'} = '/adm/navmaps';
Line 851  sub lti_session { Line 858  sub lti_session {
             }              }
         }          }
         $env{'request.lti.login'} = 1;          $env{'request.lti.login'} = 1;
           if ($params->{'launch_presentation_document_target'}) {
               $env{'request.lti.target'} = $params->{'launch_presentation_document_target'};
           }
         foreach my $key (%{$params}) {          foreach my $key (%{$params}) {
             delete($env{'form.'.$key});              delete($env{'form.'.$key});
         }          }
Line 872  sub lti_session { Line 882  sub lti_session {
                   'username'  => $uname,                    'username'  => $uname,
                   'server'    => $lonhost,                    'server'    => $lonhost,
                   'lti.login' => 1,                    'lti.login' => 1,
                     'lti.uri'   => $tail,
                  );                   );
         if ($role) {          if ($role) {
             $info{'role'} = $role;              $info{'role'} = $role;
Line 903  sub lti_session { Line 914  sub lti_session {
                 $info{'lti.rosterurl'} = $params->{'ext_ims_lis_memberships_url'};                  $info{'lti.rosterurl'} = $params->{'ext_ims_lis_memberships_url'};
             }              }
         }          }
           if ($params->{'launch_presentation_document_target'}) {
               $info{'lti.target'} = $params->{'launch_presentation_document_target'};
           }
   
         unless ($info{'symb'}) {          unless ($info{'symb'}) {
             if ($mapurl) {              if ($mapurl) {
                 $info{'origurl'} = $mapurl;                  $info{'origurl'} = $mapurl;
Line 940  sub invalid_request { Line 955  sub invalid_request {
     return;      return;
 }  }
   
   sub create_passwd {
       my $passwd = '';
       my @letts = ("a".."z");
       for (my $i=0; $i<8; $i++) {
           my $lettnum = int(rand(2));
           my $item = '';
           if ($lettnum) {
               $item = $letts[int(rand(26))];
               my $uppercase = int(rand(2));
               if ($uppercase) {
                   $item =~ tr/a-z/A-Z/;
               }
           } else {
               $item = int(rand(10));
           }
           $passwd .= $item;
       }
       return ($passwd);
   }
   
 1;  1;

Removed from v.1.6  
changed lines
  Added in v.1.8


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