Skip to content
Snippets Groups Projects
Commit 9ef49cbc authored by Kevin S. Hahn's avatar Kevin S. Hahn
Browse files

Merge pull request #5 from cni/gsfr-oauth-ids

convert to oauth2 ids
parents d195f7b5 ddd6b042
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): ...@@ -44,10 +44,10 @@ def update(db, api_uri, site_id, privkey, internims_url):
new_remotes = response['users'] new_remotes = response['users']
log.debug('users w/ remotes: ' + str(new_remotes)) log.debug('users w/ remotes: ' + str(new_remotes))
for user in response['users']: 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([])' # 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: else:
log.warning((r.status_code, r.reason)) log.warning((r.status_code, r.reason))
......
...@@ -267,12 +267,12 @@ class User(nimsapiutil.NIMSRequestHandler): ...@@ -267,12 +267,12 @@ class User(nimsapiutil.NIMSRequestHandler):
def get(self, uid): def get(self, uid):
"""Return User details.""" """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)) self.response.write(json.dumps(user, default=bson.json_util.default))
def put(self, uid): def put(self, uid):
"""Update an existing User.""" """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: if not user:
self.abort(404) self.abort(404)
if uid == self.userid or self.user_is_superuser: # users can only update their own info if uid == self.userid or self.user_is_superuser: # users can only update their own info
...@@ -287,7 +287,7 @@ class User(nimsapiutil.NIMSRequestHandler): ...@@ -287,7 +287,7 @@ class User(nimsapiutil.NIMSRequestHandler):
updates['$set'][k] = False # superuser is tri-state: False indicates granted, but disabled, superuser privileges updates['$set'][k] = False # superuser is tri-state: False indicates granted, but disabled, superuser privileges
elif v.lower() not in ('1', 'true'): elif v.lower() not in ('1', 'true'):
updates['$unset'][k] = '' updates['$unset'][k] = ''
self.app.db.users.update({'_id': uid}, updates) self.app.db.users.update({'oa2_id': uid}, updates)
else: else:
self.abort(403) self.abort(403)
......
...@@ -53,7 +53,7 @@ class NIMSRequestHandler(webapp2.RequestHandler): ...@@ -53,7 +53,7 @@ class NIMSRequestHandler(webapp2.RequestHandler):
self.initialize(request, response) self.initialize(request, response)
self.request.remote_user = self.request.get('user', None) # FIXME: auth system should set REMOTE_USER 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.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.user_is_superuser = self.user.get('superuser')
self.target_id = self.request.get('iid', None) self.target_id = self.request.get('iid', None)
self.site_id = self.app.config['site_id'] 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