Make next url authentication backend dependent (#1609)

* Make next url authentication backend dependent

* Rename authentication next_url to get_next_url.

* Add test for custom authentication backend get_next_url.

* Fix typo in docstring of authentication backend get_next_url.
This commit is contained in:
Maico Timmerman
2020-03-15 11:05:57 +01:00
committed by GitHub
parent ca0407a133
commit 9a32668ee1
5 changed files with 35 additions and 10 deletions

View File

@@ -148,6 +148,11 @@ class LoginFormTest(TestCase):
response = self.client.get('/control/')
assert b'hallo@example.org' in response.content
def test_custom_get_next_url(self):
response = self.client.get('/control/login?state=/control/events/', HTTP_X_LOGIN_EMAIL='hallo@example.org')
self.assertEqual(response.status_code, 302)
self.assertIn('/control/events/', response['Location'])
class RegistrationFormTest(TestCase):

View File

@@ -36,3 +36,8 @@ class TestRequestAuthBackend(BaseAuthBackend):
email=request.headers['X-Login-Email'],
auth_backend='test_request'
)[0]
def get_next_url(self, request):
if 'state' in request.GET:
return request.GET.get('state')
return None