[LON-CAPA-cvs] cvs: loncom /lti ltiauth.pm

raeburn raeburn at source.lon-capa.org
Tue Feb 1 14:47:20 EST 2022


raeburn		Tue Feb  1 19:47:20 2022 EDT

  Modified files:              
    /loncom/lti	ltiauth.pm 
  Log:
  - Bug 6754
    When storing mapping of Consumer system's courseID  to LON-CAPA's course
    "number" include LTI item id verified from signed payload.
  
  
Index: loncom/lti/ltiauth.pm
diff -u loncom/lti/ltiauth.pm:1.27 loncom/lti/ltiauth.pm:1.28
--- loncom/lti/ltiauth.pm:1.27	Wed Nov 24 04:25:03 2021
+++ loncom/lti/ltiauth.pm	Tue Feb  1 19:47:20 2022
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Basic LTI Authentication Module
 #
-# $Id: ltiauth.pm,v 1.27 2021/11/24 04:25:03 raeburn Exp $
+# $Id: ltiauth.pm,v 1.28 2022/02/01 19:47:20 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -495,13 +495,14 @@
     if ($sourcecrs ne '') {
         %consumers = &Apache::lonnet::get_dom('lticonsumers',[$sourcecrs],$cdom);
         if (exists($consumers{$sourcecrs})) {
-            if ($consumers{$sourcecrs} =~ /^$match_courseid$/) {
-                my $crshome = &Apache::lonnet::homeserver($consumers{$sourcecrs},$cdom);
+            if ($consumers{$sourcecrs} =~ /^\Q$itemid:\E($match_courseid)$/) {
+                $storedcnum = $1;
+                my $crshome = &Apache::lonnet::homeserver($storedcnum,$cdom);
                 if ($crshome =~ /(con_lost|no_host|no_such_host)/) {
                     &invalid_request($r,20);
                     return OK;
                 } else {
-                    $posscnum = $consumers{$sourcecrs};
+                    $posscnum = $storedcnum;
                 }
             }
         }
@@ -777,7 +778,7 @@
         ($consumers{$sourcecrs} eq '') && ($cnum ne '')) {
         if (ref($lti{$itemid}{'mapcrstype'}) eq 'ARRAY') {
             if (grep(/^$crstype$/,@{$lti{$itemid}{'mapcrstype'}})) {
-                &Apache::lonnet::put_dom('lticonsumers',{ $sourcecrs => $cnum },$cdom);
+                &Apache::lonnet::put_dom('lticonsumers',{ $sourcecrs => $itemid.':'.$cnum },$cdom);
             }
         }
     }




More information about the LON-CAPA-cvs mailing list