From 823a24abf4979661b795eab24cd07bdbc6e7917e Mon Sep 17 00:00:00 2001 From: Giovanni Cimolin da Silva <giovannicimolin@gmail.com> Date: Tue, 22 Feb 2022 17:55:58 -0300 Subject: [PATCH] fix: LTI Deep linking launch parameter for H5P --- README.rst | 7 +++++++ lti_consumer/__init__.py | 2 +- lti_consumer/lti_xblock.py | 2 -- lti_consumer/tests/unit/test_lti_xblock.py | 2 +- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/README.rst b/README.rst index 605a3bf..bd2fbf8 100644 --- a/README.rst +++ b/README.rst @@ -367,6 +367,13 @@ Changelog Please See the [releases tab](https://github.com/edx/xblock-lti-consumer/releases) for the complete changelog. +3.4.4 - 2022-03-03 +------------------ + +* Fix LTI 1.3 Deep Linking launch url - always perform launch on launch URL, but update `target_link_uri` when + loading deep linking content. + See LTI 1.3 spec at: https://www.imsglobal.org/spec/lti/v1p3#target-link-uri + 3.4.3 - 2022-02-01 ------------------ diff --git a/lti_consumer/__init__.py b/lti_consumer/__init__.py index f8fb0f6..ed92eb5 100644 --- a/lti_consumer/__init__.py +++ b/lti_consumer/__init__.py @@ -4,4 +4,4 @@ Runtime will load the XBlock class from here. from .apps import LTIConsumerApp from .lti_xblock import LtiConsumerXBlock -__version__ = '3.4.3' +__version__ = '3.4.4' diff --git a/lti_consumer/lti_xblock.py b/lti_consumer/lti_xblock.py index 6a06022..21b3e93 100644 --- a/lti_consumer/lti_xblock.py +++ b/lti_consumer/lti_xblock.py @@ -1145,8 +1145,6 @@ class LtiConsumerXBlock(StudioEditableXBlockMixin, XBlock): url=dl_params.get('url'), custom=dl_params.get('custom') ) - if dl_params.get('url'): - context.update({'launch_url': dl_params.get('url')}) # Update context with LTI launch parameters context.update({ diff --git a/lti_consumer/tests/unit/test_lti_xblock.py b/lti_consumer/tests/unit/test_lti_xblock.py index 1e1a7a7..9a3e6a0 100644 --- a/lti_consumer/tests/unit/test_lti_xblock.py +++ b/lti_consumer/tests/unit/test_lti_xblock.py @@ -1416,7 +1416,7 @@ class TestLtiConsumer1p3XBlock(TestCase): # Check response self.assertEqual(response.status_code, 200) - self.assertIn("https://deep-link-content/", content) + self.assertIn("http://tool.example/launch", content) class TestLti1p3AccessTokenEndpoint(TestLtiConsumerXBlock): -- GitLab