add user_name, user_id, groups in userinfo

master
q3k 2019-08-30 17:24:49 +02:00
parent 23483292c5
commit fb48a67ac1
1 changed files with 15 additions and 1 deletions

16
auth.py
View File

@ -282,6 +282,16 @@ class LDAPUserProxy(object):
# Fail-safe.
return True
@cached_property
def is_staff(self):
url = 'https://capacifier.hackerspace.pl/staff/{}'
try:
r = requests.get(url.format(self.username))
return 'YES' in r.text
except Exception as e:
logging.error("When getting data from Capacifier: {}".format(e))
return False
def get_id(self):
return self.username
@ -358,8 +368,12 @@ def api_profile():
@oauth.require_oauth('profile:read')
def api_userinfo():
user = LDAPUserProxy(flask.request.oauth.user)
groups = []
if user.is_staff:
groups.append('staff')
return flask.jsonify(sub=user.username, name=user.gecos, email=user.email,
preferred_username=user.username, nickname=user.username)
preferred_username=user.username, nickname=user.username,
user_name=user.username, user_id=user.username, groups=groups)
if __name__ == '__main__':