Merge pull request #19183 from edx/douglashall/explicit_jwt_cookie
Use JWT cookies for authentication when explicitly requested by client.
This commit is contained in:
@@ -3177,6 +3177,8 @@ JWT_AUTH = {
|
||||
'JWT_LEEWAY': 1,
|
||||
'JWT_DECODE_HANDLER': 'edx_rest_framework_extensions.auth.jwt.decoder.jwt_decode_handler',
|
||||
|
||||
'JWT_AUTH_COOKIE': 'edx-jwt-cookie',
|
||||
|
||||
# Number of seconds before JWTs expire
|
||||
'JWT_EXPIRATION': 30,
|
||||
'JWT_IN_COOKIE_EXPIRATION': 60 * 60,
|
||||
|
||||
@@ -56,6 +56,9 @@ class CookieTests(TestCase):
|
||||
for key, val in response.cookies.iteritems()
|
||||
}
|
||||
|
||||
def _set_use_jwt_cookie_header(self, request):
|
||||
request.META['HTTP_USE_JWT_COOKIE'] = 'true'
|
||||
|
||||
def _assert_recreate_jwt_from_cookies(self, response, can_recreate):
|
||||
"""
|
||||
If can_recreate is True, verifies that a JWT can be properly recreated
|
||||
@@ -107,6 +110,7 @@ class CookieTests(TestCase):
|
||||
|
||||
def test_set_logged_in_jwt_cookies(self):
|
||||
setup_login_oauth_client()
|
||||
self._set_use_jwt_cookie_header(self.request)
|
||||
with cookies_api.JWT_COOKIES_FLAG.override(True):
|
||||
response = cookies_api.set_logged_in_cookies(self.request, HttpResponse(), self.user)
|
||||
self._assert_cookies_present(response, cookies_api.ALL_LOGGED_IN_COOKIE_NAMES)
|
||||
@@ -127,6 +131,7 @@ class CookieTests(TestCase):
|
||||
return response.cookies[cookies_api.jwt_cookies.jwt_refresh_cookie_name()].value
|
||||
|
||||
setup_login_oauth_client()
|
||||
self._set_use_jwt_cookie_header(self.request)
|
||||
with cookies_api.JWT_COOKIES_FLAG.override(True):
|
||||
response = cookies_api.set_logged_in_cookies(self.request, HttpResponse(), self.user)
|
||||
self._copy_cookies_to_request(response, self.request)
|
||||
|
||||
@@ -118,7 +118,7 @@ edx-django-oauth2-provider==1.3.5
|
||||
edx-django-release-util==0.3.1
|
||||
edx-django-sites-extensions==2.3.1
|
||||
edx-django-utils==1.0.1
|
||||
edx-drf-extensions==2.0.0
|
||||
edx-drf-extensions==2.0.1
|
||||
edx-enterprise==1.0.2
|
||||
edx-i18n-tools==0.4.6
|
||||
edx-milestones==0.1.13
|
||||
|
||||
@@ -137,7 +137,7 @@ edx-django-oauth2-provider==1.3.5
|
||||
edx-django-release-util==0.3.1
|
||||
edx-django-sites-extensions==2.3.1
|
||||
edx-django-utils==1.0.1
|
||||
edx-drf-extensions==2.0.0
|
||||
edx-drf-extensions==2.0.1
|
||||
edx-enterprise==1.0.2
|
||||
edx-i18n-tools==0.4.6
|
||||
edx-lint==0.5.5
|
||||
|
||||
@@ -132,7 +132,7 @@ edx-django-oauth2-provider==1.3.5
|
||||
edx-django-release-util==0.3.1
|
||||
edx-django-sites-extensions==2.3.1
|
||||
edx-django-utils==1.0.1
|
||||
edx-drf-extensions==2.0.0
|
||||
edx-drf-extensions==2.0.1
|
||||
edx-enterprise==1.0.2
|
||||
edx-i18n-tools==0.4.6
|
||||
edx-lint==0.5.5
|
||||
|
||||
Reference in New Issue
Block a user