--- loncom/lti/ltiauth.pm 2021/11/24 04:25:03 1.27 +++ loncom/lti/ltiauth.pm 2022/02/01 19:47:20 1.28 @@ -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 @@ sub handler { 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 @@ sub handler { ($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); } } }