mellon/views.py: store and load the liberty session dump for slo

This commit is contained in:
Jérôme Schneider 2015-02-05 18:26:29 +01:00
parent 9376d444d4
commit 4f0f50f816
1 changed files with 7 additions and 0 deletions

View File

@ -131,6 +131,7 @@ class LoginView(LogMixin, View):
else:
return render(request, 'mellon/user_not_found.html', {
'saml_attributes': attributes })
request.session['lasso_session_dump'] = login.session.dump()
next_url = login.msgRelayState or resolve_url(settings.LOGIN_REDIRECT_URL)
return HttpResponseRedirect(next_url)
@ -220,6 +221,12 @@ class LogoutView(LogMixin, View):
if issuer:
logout = utils.create_logout(request)
try:
if request.session.has_key('lasso_session_dump'):
logout.setSessionFromDump(
request.session['lasso_session_dump']
)
else:
self.log.error('unable to find lasso session dump')
logout.initRequest(issuer, lasso.HTTP_METHOD_REDIRECT)
logout.msgRelayState = next_url
logout.buildRequestMsg()