views: fix discovery URL building (#31581)
This commit is contained in:
parent
d0e6f46f9b
commit
ca6ce92781
|
@ -348,12 +348,14 @@ class LoginView(ProfileMixin, LogMixin, View):
|
|||
return self.sso_failure(request, login, reason=idp_message, status_codes=status_codes)
|
||||
|
||||
def request_discovery_service(self, request, is_passive=False):
|
||||
self_url = request.build_absolute_uri() + '&nodisco=1'
|
||||
return_url = request.build_absolute_uri()
|
||||
return_url += '&' if '?' in return_url else '?'
|
||||
return_url += 'nodisco=1'
|
||||
url = app_settings.DISCOVERY_SERVICE_URL
|
||||
params = {
|
||||
# prevent redirect loops with the discovery service
|
||||
'entityID': request.build_absolute_uri(reverse('mellon_metadata')),
|
||||
'return': self_url,
|
||||
'return': return_url,
|
||||
}
|
||||
if is_passive:
|
||||
params['isPassive'] = 'true'
|
||||
|
|
|
@ -147,7 +147,7 @@ def test_sp_initiated_login_discovery_service_passive(private_settings, client):
|
|||
assert response['Location'].startswith('https://disco?')
|
||||
assert params == {'isPassive': ['true'],
|
||||
'entityID': ['http://testserver/metadata/'],
|
||||
'return': ['http://testserver/login/?nodisco=1']}
|
||||
'return': ['http://testserver/login/?passive=1&nodisco=1']}
|
||||
|
||||
|
||||
def test_sp_initiated_login_discovery_service_nodisco(private_settings, client):
|
||||
|
|
Loading…
Reference in New Issue