[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