Newer
Older
Utility functions for LTI Consumer block
from django.conf import settings
Make '_' a no-op so we can scrape strings
def lti_1p3_enabled():
"""
Returns `true` if LTI 1.3 integration is enabled for instance.
"""
return settings.FEATURES.get('LTI_1P3_ENABLED', False) is True
def get_lms_base():
"""
Returns LMS base url to be used as issuer on OAuth2 flows
TODO: This needs to be improved and account for Open edX sites and
organizations.
One possible improvement is to use `contentstore.get_lms_link_for_item`
and strip the base domain name.
"""
return settings.LMS_ROOT_URL
def get_lms_lti_keyset_link(location):
"""
Returns an LMS link to LTI public keyset endpoint
:param location: the location of the block
"""
return u"{lms_base}/api/lti_consumer/v1/public_keysets/{location}".format(
lms_base=get_lms_base(),
)
def get_lms_lti_launch_link():
"""
Returns an LMS link to LTI Launch endpoint
:param location: the location of the block
"""
return u"{lms_base}/api/lti_consumer/v1/launch/".format(
lms_base=get_lms_base(),
)
def get_lms_lti_access_token_link(location):
"""
Returns an LMS link to LTI Launch endpoint
:param location: the location of the block
"""
return u"{lms_base}/api/lti_consumer/v1/token/{location}".format(
lms_base=get_lms_base(),