--- loncom/lti/ltiutils.pm 2022/01/03 18:35:27 1.17.2.1 +++ loncom/lti/ltiutils.pm 2023/01/23 18:39:46 1.17.2.3 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Utility functions for managing LON-CAPA LTI interactions # -# $Id: ltiutils.pm,v 1.17.2.1 2022/01/03 18:35:27 raeburn Exp $ +# $Id: ltiutils.pm,v 1.17.2.3 2023/01/23 18:39:46 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -31,6 +31,9 @@ package LONCAPA::ltiutils; use strict; use Net::OAuth; use Digest::SHA; +use Digest::MD5 qw(md5_hex); +use Encode; +use LWP::UserAgent(); use Apache::lonnet; use Apache::loncommon; use LONCAPA qw(:DEFAULT :match); @@ -276,7 +279,7 @@ sub lti_provider_scope { sub setup_logout_callback { my ($uname,$udom,$server,$ckey,$secret,$service_url,$idsdir,$protocol,$hostname) = @_; if ($service_url =~ m{^https?://[^/]+/}) { - my $digest_user = &Encode::decode_utf8($uname.':'.$udom); + my $digest_user = &Encode::decode('UTF-8',$uname.':'.$udom); my $loginfile = &Digest::SHA::sha1_hex($digest_user).&md5_hex(&md5_hex(time.{}.rand().$$)); if ((-d $idsdir) && (open(my $fh,'>',"$idsdir/$loginfile"))) { print $fh "$uname,$udom,$server\n"; @@ -287,9 +290,12 @@ sub setup_logout_callback { ); my $post = &sign_params($service_url,$ckey,$secret,\%ltiparams, '','','',1); + + my $ua=new LWP::UserAgent; + $ua->timeout(10); my $request=new HTTP::Request('POST',$service_url); $request->content($post); - my $response = &LONCAPA::LWPReq::makerequest('',$request,'','',10); + my $response=$ua->request($request); } } return;