120 |
120 |
lasso.ProfileStatusNotSuccessError,
|
121 |
121 |
lasso.ProfileRequestDeniedError):
|
122 |
122 |
self.show_message_status_is_not_success(login, 'SAML authentication failed')
|
123 |
|
except lasso.Error, e:
|
|
123 |
except lasso.Error as e:
|
124 |
124 |
return HttpResponseBadRequest('error processing the authentication response: %r' % e)
|
125 |
125 |
else:
|
126 |
126 |
if 'RelayState' in request.POST and utils.is_nonnull(request.POST['RelayState']):
|
... | ... | |
262 |
262 |
headers={'content-type': 'text/xml'},
|
263 |
263 |
timeout=app_settings.ARTIFACT_RESOLVE_TIMEOUT,
|
264 |
264 |
verify=verify_ssl_certificate)
|
265 |
|
except RequestException, e:
|
|
265 |
except RequestException as e:
|
266 |
266 |
self.log.warning('unable to reach %r: %s', login.msgUrl, e)
|
267 |
267 |
return self.sso_failure(request, login, _('IdP is temporarily down, please try again '
|
268 |
268 |
'later.'), status_codes)
|
... | ... | |
305 |
305 |
args[0] += ' message: %r'
|
306 |
306 |
args.append(status.statusMessage)
|
307 |
307 |
self.log.warning(*args)
|
308 |
|
except lasso.Error, e:
|
|
308 |
except lasso.Error as e:
|
309 |
309 |
self.log.exception('unexpected lasso error')
|
310 |
310 |
return HttpResponseBadRequest('error processing the authentication response: %r' % e)
|
311 |
311 |
else:
|
... | ... | |
373 |
373 |
escape(request.build_absolute_uri(next_url or '/')))
|
374 |
374 |
self.set_next_url(next_url)
|
375 |
375 |
login.buildAuthnRequestMsg()
|
376 |
|
except lasso.Error, e:
|
|
376 |
except lasso.Error as e:
|
377 |
377 |
return HttpResponseBadRequest('error initializing the authentication request: %r' % e)
|
378 |
378 |
self.log.debug('sending authn request %r', authn_request.dump())
|
379 |
379 |
self.log.debug('to url %r', login.msgUrl)
|
... | ... | |
397 |
397 |
self.profile = logout = utils.create_logout(request)
|
398 |
398 |
try:
|
399 |
399 |
logout.processRequestMsg(request.META['QUERY_STRING'])
|
400 |
|
except lasso.Error, e:
|
|
400 |
except lasso.Error as e:
|
401 |
401 |
return HttpResponseBadRequest('error processing logout request: %r' % e)
|
402 |
402 |
try:
|
403 |
403 |
logout.validateRequest()
|
404 |
|
except lasso.Error, e:
|
|
404 |
except lasso.Error as e:
|
405 |
405 |
self.log.warning('error validating logout request: %r' % e)
|
406 |
406 |
issuer = request.session.get('mellon_session', {}).get('issuer')
|
407 |
407 |
if issuer == logout.remoteProviderId:
|
... | ... | |
409 |
409 |
auth.logout(request)
|
410 |
410 |
try:
|
411 |
411 |
logout.buildResponseMsg()
|
412 |
|
except lasso.Error, e:
|
|
412 |
except lasso.Error as e:
|
413 |
413 |
return HttpResponseBadRequest('error processing logout request: %r' % e)
|
414 |
414 |
return HttpResponseRedirect(logout.msgUrl)
|
415 |
415 |
|
... | ... | |
431 |
431 |
self.log.error('unable to find lasso session dump')
|
432 |
432 |
logout.initRequest(issuer, lasso.HTTP_METHOD_REDIRECT)
|
433 |
433 |
logout.buildRequestMsg()
|
434 |
|
except lasso.Error, e:
|
|
434 |
except lasso.Error as e:
|
435 |
435 |
self.log.error('unable to initiate a logout request %r', e)
|
436 |
436 |
else:
|
437 |
437 |
self.log.debug('sending LogoutRequest %r', logout.request.dump())
|
... | ... | |
460 |
460 |
self.show_message_status_is_not_success(logout, 'SAML logout failed')
|
461 |
461 |
except lasso.LogoutPartialLogoutError:
|
462 |
462 |
self.log.warning('partial logout')
|
463 |
|
except lasso.Error, e:
|
|
463 |
except lasso.Error as e:
|
464 |
464 |
self.log.warning('unable to process a logout response: %s', e)
|
465 |
465 |
return HttpResponseRedirect(resolve_url(settings.LOGIN_REDIRECT_URL))
|
466 |
466 |
next_url = self.get_next_url(default=resolve_url(settings.LOGIN_REDIRECT_URL))
|
467 |
|
-
|