X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=localauth%2Fmanifoldbackend.py;h=48b57c1374502516e8805e1e0fbdd6a0a9014a65;hb=89af8babd28a7da90ffe59be3ce7b7e812734cd0;hp=74511a107245295ccd4deab0fb9513462c86ad1c;hpb=ad016322ae3f21b27cda0e942fa48a10c3c728a3;p=myslice.git diff --git a/localauth/manifoldbackend.py b/localauth/manifoldbackend.py index 74511a10..48b57c13 100644 --- a/localauth/manifoldbackend.py +++ b/localauth/manifoldbackend.py @@ -1,5 +1,3 @@ -import time - from django.contrib.auth.models import User from manifoldapi.manifoldapi import ManifoldAPI, ManifoldException, ManifoldResult @@ -9,9 +7,6 @@ from myslice.settings import config, logger, DEBUG from portal.actions import authority_check_pis -# from unfold.sessioncache import SessionCache - -# Name my backend 'ManifoldBackend' class ManifoldBackend: # Create an authentication method @@ -23,17 +18,18 @@ class ManifoldBackend: person = {} try: - username = token['username'] + email = token['username'] + username = email.split('@')[-1] password = token['password'] request = token['request'] - auth = {'AuthMethod': 'password', 'Username': username, 'AuthString': password} - api = ManifoldAPI(auth) + auth = {'AuthMethod': 'password', 'Username': email, 'AuthString': password} + api = ManifoldAPI(config.manifold_url(), auth) sessions_result = api.forward(Query.create('local:session').to_dict()) sessions = sessions_result.ok_value() if not sessions: logger.error("GetSession failed: {}".format(sessions_result.error())) - return + return None session = sessions[0] logger.debug("SESSION : {}".format(session.keys())) @@ -48,7 +44,7 @@ class ManifoldBackend: persons = persons_result.ok_value() if not persons: logger.error("GetPersons failed: {}".format(persons_result.error())) - return + return None person = persons[0] logger.debug("PERSON : {}".format(person)) @@ -69,10 +65,10 @@ class ManifoldBackend: try: # Check if the user exists in Django's local database - user = User.objects.get(username=username) + user = User.objects.get(email=email) except User.DoesNotExist: # Create a user in Django's local database - user = User.objects.create_user(username, username, 'passworddoesntmatter') + user = User.objects.create_user(username, email, 'passworddoesntmatter') user.email = person['email'] if 'firstname' in person: