diff --git a/lms/djangoapps/commerce/views.py b/lms/djangoapps/commerce/views.py index 3d9249b46a..e8be34f1f1 100644 --- a/lms/djangoapps/commerce/views.py +++ b/lms/djangoapps/commerce/views.py @@ -54,17 +54,16 @@ class OrdersView(APIView): return True, course_key, None - def _get_jwt(self, user): + def _get_jwt(self, user, ecommerce_api_signing_key): """ Returns a JWT object with the specified user's info. - Raises AttributeError if settings.ECOMMERCE_API_SIGNING_KEY is not set. """ data = { 'username': user.username, 'email': user.email } - return jwt.encode(data, getattr(settings, 'ECOMMERCE_API_SIGNING_KEY')) + return jwt.encode(data, ecommerce_api_signing_key) def _enroll(self, course_key, user): """ Enroll the user in the course. """ @@ -109,7 +108,7 @@ class OrdersView(APIView): # Contact external API headers = { 'Content-Type': 'application/json', - 'Authorization': 'JWT {}'.format(self._get_jwt(user)) + 'Authorization': 'JWT {}'.format(self._get_jwt(user, ecommerce_api_signing_key)) } url = '{}/orders/'.format(ecommerce_api_url.strip('/')) diff --git a/lms/envs/aws.py b/lms/envs/aws.py index db43cf3c56..b0a2580ea0 100644 --- a/lms/envs/aws.py +++ b/lms/envs/aws.py @@ -558,3 +558,8 @@ XBLOCK_SETTINGS = ENV_TOKENS.get('XBLOCK_SETTINGS', {}) ##### CDN EXPERIMENT/MONITORING FLAGS ##### PERFORMANCE_GRAPHITE_URL = ENV_TOKENS.get('PERFORMANCE_GRAPHITE_URL', PERFORMANCE_GRAPHITE_URL) CDN_VIDEO_URLS = ENV_TOKENS.get('CDN_VIDEO_URLS', CDN_VIDEO_URLS) + +##### ECOMMERCE API CONFIGURATION SETTINGS ##### +ECOMMERCE_API_URL = ENV_TOKENS.get('ECOMMERCE_API_URL', ECOMMERCE_API_URL) +ECOMMERCE_API_SIGNING_KEY = AUTH_TOKENS.get('ECOMMERCE_API_SIGNING_KEY', ECOMMERCE_API_SIGNING_KEY) +ECOMMERCE_API_TIMEOUT = ENV_TOKENS.get('ECOMMERCE_API_TIMEOUT', ECOMMERCE_API_TIMEOUT)