X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=localauth%2Fmanifoldbackend.py;h=48b57c1374502516e8805e1e0fbdd6a0a9014a65;hb=afad757bd5e9ce4ae9c400121ce399f253457bee;hp=74511a107245295ccd4deab0fb9513462c86ad1c;hpb=81e73becc2f47d96de6cf9f94ba4c86f710a18ba;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: