diff --git a/auth/auth_systems/password.py b/auth/auth_systems/password.py index e9b6e0f5d97a71d0e5dbcd8a9a7182af9ccd419c..f57dfb79cdbce8c40199ae42096afb0072e09d36 100644 --- a/auth/auth_systems/password.py +++ b/auth/auth_systems/password.py @@ -57,7 +57,7 @@ def password_login_view(request): if request.POST.has_key('return_url'): request.session['auth_return_url'] = request.POST.get('return_url') - request.session['user'] = user + request.session['password_user'] = user return HttpResponseRedirect(reverse(after)) except User.DoesNotExist: pass @@ -101,7 +101,7 @@ def get_auth_url(request, redirect_url = None): return reverse(password_login_view) def get_user_info_after_auth(request): - user = request.session['user'] + user = request.session['password_user'] user_info = user.info return {'type': 'password', 'user_id' : user.user_id, 'name': user.name, 'info': user.info, 'token': None} diff --git a/auth/views.py b/auth/views.py index 7aef37c3d9b55498e87e106e22d631655b6af2c5..605fe175fc09ecb28bedbd439505e433718658cf 100644 --- a/auth/views.py +++ b/auth/views.py @@ -81,6 +81,12 @@ def do_local_logout(request): # but we definitely kill the session and renew # the cookie field_names_to_save = request.session.get(FIELDS_TO_SAVE, []) + + # let's clean up the self-referential issue: + field_names_to_save = set(field_names_to_save) + field_names_to_save.remove(FIELDS_TO_SAVE) + field_names_to_save = list(field_names_to_save) + fields_to_save = dict([(name, request.session.get(name, None)) for name in field_names_to_save]) # let's not forget to save the list of fields to save @@ -126,8 +132,9 @@ def logout(request): def start(request, system_name): if not (system_name in auth.ENABLED_AUTH_SYSTEMS): return HttpResponseRedirect(reverse(index)) - - request.session.save() + + # why is this here? Let's try without it + # request.session.save() # store in the session the name of the system used for auth request.session['auth_system_name'] = system_name