X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=auth%2Fmanifoldbackend.py;h=afb87821930813087c98d5793e21ea3cef8b1018;hb=83164968c09d445ea8dc095414e5ce13fff59c99;hp=529ef0fcf5a694029fad881122293eda1f67ab11;hpb=f71f48bbebffa6bb81165a9e6acaa872181a8926;p=unfold.git diff --git a/auth/manifoldbackend.py b/auth/manifoldbackend.py index 529ef0fc..afb87821 100644 --- a/auth/manifoldbackend.py +++ b/auth/manifoldbackend.py @@ -2,7 +2,7 @@ import time from django.contrib.auth.models import User -from manifold.manifoldapi import ManifoldAPI, ManifoldResult +from manifoldapi.manifoldapi import ManifoldAPI, ManifoldException, ManifoldResult from manifold.core.query import Query # Name my backend 'ManifoldBackend' @@ -30,7 +30,6 @@ class ManifoldBackend: return print "first", sessions session = sessions[0] - print "SESSION=", session # Change to session authentication api.auth = {'AuthMethod': 'session', 'session': session['session']} @@ -47,6 +46,9 @@ class ManifoldBackend: print "PERSON=", person request.session['manifold'] = {'auth': api.auth, 'person': person, 'expires': session['expires']} + except ManifoldException, e: + print "ManifoldBackend.authenticate caught ManifoldException, returning corresponding ManifoldResult" + return e.manifold_result except Exception, e: print "E: manifoldbackend", e import traceback @@ -59,9 +61,13 @@ class ManifoldBackend: except User.DoesNotExist: # Create a user in Django's local database user = User.objects.create_user(username, username, 'passworddoesntmatter') - user.first_name = "DUMMY_FIRST_NAME" #person['first_name'] - user.last_name = "DUMMY LAST NAME" # person['last_name'] user.email = person['email'] + + if 'firstname' in person: + user.first_name = person['firstname'] + if 'lastname' in person: + user.last_name = person['lastname'] + return user # Required for your backend to work properly - unchanged in most scenarios