diff --git a/common/djangoapps/third_party_auth/tests/specs/base.py b/common/djangoapps/third_party_auth/tests/specs/base.py
index edd2eb7eb5..1cf8965fbc 100644
--- a/common/djangoapps/third_party_auth/tests/specs/base.py
+++ b/common/djangoapps/third_party_auth/tests/specs/base.py
@@ -120,7 +120,7 @@ class HelperMixin(object):
"""Asserts failure on /login for missing social auth looks right."""
self.assertEqual(403, response.status_code)
self.assertIn(
- "successfully logged into your %s account, but this account isn't linked" % self.provider.name,
+ "successfully logged into your %s account, but this account isn't linked" % self.provider.name,
response.content
)
diff --git a/openedx/core/djangoapps/user_api/tests/test_views.py b/openedx/core/djangoapps/user_api/tests/test_views.py
index 13c80aeeb2..bbc885e721 100644
--- a/openedx/core/djangoapps/user_api/tests/test_views.py
+++ b/openedx/core/djangoapps/user_api/tests/test_views.py
@@ -658,13 +658,7 @@ class LoginSessionViewTest(UserAPITestCase):
response = self.client.get(reverse("dashboard"))
self.assertHttpOK(response)
- @ddt.data(
- (json.dumps(True), False),
- (json.dumps(False), True),
- (None, True),
- )
- @ddt.unpack
- def test_login_remember_me(self, remember_value, expire_at_browser_close):
+ def test_session_cookie_expiry(self):
# Create a test user
UserFactory.create(username=self.USERNAME, email=self.EMAIL, password=self.PASSWORD)
@@ -674,17 +668,13 @@ class LoginSessionViewTest(UserAPITestCase):
"password": self.PASSWORD,
}
- if remember_value is not None:
- data["remember"] = remember_value
-
response = self.client.post(self.url, data)
self.assertHttpOK(response)
# Verify that the session expiration was set correctly
- self.assertEqual(
- self.client.session.get_expire_at_browser_close(),
- expire_at_browser_close
- )
+ cookie = self.client.cookies[settings.SESSION_COOKIE_NAME]
+ expected_expiry = datetime.datetime.now() + datetime.timedelta(weeks=4)
+ self.assertIn(expected_expiry.strftime('%d-%b-%Y'), cookie.get('expires'))
def test_invalid_credentials(self):
# Create a test user
diff --git a/openedx/core/djangoapps/user_authn/views/login.py b/openedx/core/djangoapps/user_authn/views/login.py
index a84ffd10a6..5d173acc77 100644
--- a/openedx/core/djangoapps/user_authn/views/login.py
+++ b/openedx/core/djangoapps/user_authn/views/login.py
@@ -27,6 +27,7 @@ from openedx.core.djangoapps.external_auth.models import ExternalAuthMap
from openedx.core.djangoapps.password_policy import compliance as password_policy_compliance
from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
from openedx.core.djangoapps.util.user_messages import PageLevelMessages
+from openedx.core.djangolib.markup import HTML, Text
from student.models import (
LoginFailures,
PasswordHistory,
@@ -77,11 +78,14 @@ def _do_third_party_auth(request):
provider_name=requested_provider.name,
)
message += "
"
- message += _(
+ message += Text(_(
"If you don't have an {platform_name} account yet, "
- "click Register at the top of the page."
- ).format(
- platform_name=platform_name
+ "click {register_label_strong} at the top of the page."
+ )).format(
+ platform_name=platform_name,
+ register_label_strong=HTML('{register_text}').format(
+ register_text=_('Register')
+ )
)
raise AuthFailedError(message)
@@ -257,11 +261,8 @@ def _handle_successful_authentication_and_login(user, request):
try:
django_login(request, user)
- if request.POST.get('remember') == 'true':
- request.session.set_expiry(604800)
- log.debug("Setting user session to never expire")
- else:
- request.session.set_expiry(0)
+ request.session.set_expiry(604800 * 4)
+ log.debug("Setting user session expiry to 4 weeks")
except Exception as exc:
AUDIT_LOG.critical("Login failed - Could not create session. Is memcached running?")
log.critical("Login failed - Could not create session. Is memcached running?")