Projet

Général

Profil

0001-views-fix-discovery-URL-building-31581.patch

Benjamin Dauvergne, 22 mars 2019 15:11

Télécharger (1,89 ko)

Voir les différences:

Subject: [PATCH] views: fix discovery URL building (#31581)

 mellon/views.py     | 6 ++++--
 tests/test_views.py | 2 +-
 2 files changed, 5 insertions(+), 3 deletions(-)
mellon/views.py
348 348
        return self.sso_failure(request, login, reason=idp_message, status_codes=status_codes)
349 349

  
350 350
    def request_discovery_service(self, request, is_passive=False):
351
        self_url = request.build_absolute_uri() + '&nodisco=1'
351
        return_url = request.build_absolute_uri()
352
        return_url += '&' if '?' in return_url else '?'
353
        return_url += 'nodisco=1'
352 354
        url = app_settings.DISCOVERY_SERVICE_URL
353 355
        params = {
354 356
            # prevent redirect loops with the discovery service
355 357
            'entityID': request.build_absolute_uri(reverse('mellon_metadata')),
356
            'return': self_url,
358
            'return': return_url,
357 359
        }
358 360
        if is_passive:
359 361
            params['isPassive'] = 'true'
tests/test_views.py
147 147
    assert response['Location'].startswith('https://disco?')
148 148
    assert params == {'isPassive': ['true'],
149 149
                      'entityID': ['http://testserver/metadata/'],
150
                      'return': ['http://testserver/login/?nodisco=1']}
150
                      'return': ['http://testserver/login/?passive=1&nodisco=1']}
151 151

  
152 152

  
153 153
def test_sp_initiated_login_discovery_service_nodisco(private_settings, client):
154
-