diff --git a/lti_consumer/plugin/views.py b/lti_consumer/plugin/views.py index 09c0bc5f19c97b1bf90c5d2a19ca0c070027f540..c0b412401cb0180da30bc80099a915777b4e3e21 100644 --- a/lti_consumer/plugin/views.py +++ b/lti_consumer/plugin/views.py @@ -10,7 +10,7 @@ from django.http import JsonResponse, Http404 from django.db import transaction from django.views.decorators.csrf import csrf_exempt from django.views.decorators.http import require_http_methods -from django.views.decorators.clickjacking import xframe_options_sameorigin +from django.views.decorators.clickjacking import xframe_options_exempt, xframe_options_sameorigin from django.shortcuts import render from django_filters.rest_framework import DjangoFilterBackend from opaque_keys import InvalidKeyError @@ -138,6 +138,7 @@ def public_keyset_endpoint(request, usage_id=None, lti_config_id=None): @require_http_methods(["GET", "POST"]) +@xframe_options_exempt def launch_gate_endpoint(request, suffix=None): # pylint: disable=unused-argument """ Gate endpoint that triggers LTI launch endpoint XBlock handler