Skip to content
Snippets Groups Projects
Commit ddd6b042 authored by Gunnar Schaefer's avatar Gunnar Schaefer
Browse files

convert to oauth2 ids

parent d195f7b5
No related branches found
No related tags found
No related merge requests found
......@@ -44,10 +44,10 @@ def update(db, api_uri, site_id, privkey, internims_url):
new_remotes = response['users']
log.debug('users w/ remotes: ' + str(new_remotes))
for user in response['users']:
db.users.update({'_id': user}, {'$set': {'remotes': new_remotes.get(user, [])}})
db.users.update({'oa2_id': user}, {'$set': {'remotes': new_remotes.get(user, [])}})
# cannot use new_remotes.viewkeys(). leads to 'bson.errors.InvalidDocument: Cannot encode object: dict_keys([])'
db.users.update({'remotes': {'$exists':True}, '_id': {'$nin': new_remotes.keys()}}, {'$unset': {'remotes': ''}}, multi=True)
db.users.update({'remotes': {'$exists':True}, 'oa2_id': {'$nin': new_remotes.keys()}}, {'$unset': {'remotes': ''}}, multi=True)
else:
log.warning((r.status_code, r.reason))
......
......@@ -267,12 +267,12 @@ class User(nimsapiutil.NIMSRequestHandler):
def get(self, uid):
"""Return User details."""
user = self.app.db.users.find_one({'_id': uid})
user = self.app.db.users.find_one({'oa2_id': uid})
self.response.write(json.dumps(user, default=bson.json_util.default))
def put(self, uid):
"""Update an existing User."""
user = self.app.db.users.find_one({'_id': uid})
user = self.app.db.users.find_one({'oa2_id': uid})
if not user:
self.abort(404)
if uid == self.userid or self.user_is_superuser: # users can only update their own info
......@@ -287,7 +287,7 @@ class User(nimsapiutil.NIMSRequestHandler):
updates['$set'][k] = False # superuser is tri-state: False indicates granted, but disabled, superuser privileges
elif v.lower() not in ('1', 'true'):
updates['$unset'][k] = ''
self.app.db.users.update({'_id': uid}, updates)
self.app.db.users.update({'oa2_id': uid}, updates)
else:
self.abort(403)
......
......@@ -53,7 +53,7 @@ class NIMSRequestHandler(webapp2.RequestHandler):
self.initialize(request, response)
self.request.remote_user = self.request.get('user', None) # FIXME: auth system should set REMOTE_USER
self.userid = self.request.remote_user or '@public'
self.user = self.app.db.users.find_one({'_id': self.userid})
self.user = self.app.db.users.find_one({'oa2_id': self.userid})
self.user_is_superuser = self.user.get('superuser')
self.target_id = self.request.get('iid', None)
self.site_id = self.app.config['site_id']
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment