X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=localauth%2Fmanifoldbackend.py;h=48b57c1374502516e8805e1e0fbdd6a0a9014a65;hb=refs%2Fheads%2Fonelab;hp=504a85be1eaf2f7a28a5a9f70b2cfcba7c5dc0f1;hpb=6eb98c83dccb555e576740d8000d6fad8044763f;p=myslice.git diff --git a/localauth/manifoldbackend.py b/localauth/manifoldbackend.py index 504a85be..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,12 +18,13 @@ 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: @@ -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: