Merge pull request #19900 from edx/LEARNER-7131/improve-403-error-handling

Improve 403 error handling
This commit is contained in:
Uzair Rasheed
2019-03-07 12:28:38 +05:00
committed by GitHub
3 changed files with 5 additions and 2 deletions

View File

@@ -1043,7 +1043,7 @@ def handle_xblock_callback(request, course_id, usage_id, handler, suffix=None):
# NOTE (CCB): Allow anonymous GET calls (e.g. for transcripts). Modifying this view is simpler than updating
# the XBlocks to use `handle_xblock_callback_noauth`, which is practically identical to this view.
if request.method != 'GET' and not (request.user and request.user.is_authenticated):
return HttpResponseForbidden()
return HttpResponseForbidden('Unauthenticated')
request.user.known = request.user.is_authenticated

View File

@@ -327,6 +327,9 @@ class ModuleRenderTestCase(SharedModuleStoreTestCase, LoginEnrollmentTestCase):
"""Test that anonymous POST is not allowed."""
dispatch_url = self._get_dispatch_url()
response = self.client.post(dispatch_url, {'position': 2})
# https://openedx.atlassian.net/browse/LEARNER-7131
self.assertEquals('Unauthenticated', response.content)
self.assertEquals(403, response.status_code)
def test_session_authentication(self):

View File

@@ -1,5 +1,5 @@
$(document).ajaxError(function(event, jXHR) {
if (jXHR.status === 403) {
if (jXHR.status === 403 && jXHR.responseText === 'Unauthenticated') {
var message = gettext(
'You have been logged out of your edX account. ' +
'Click Okay to log in again now. ' +