From fb48a67ac1729357e850e57176bc73cbacd93765 Mon Sep 17 00:00:00 2001 From: Sergiusz Bazanski Date: Fri, 30 Aug 2019 17:24:49 +0200 Subject: [PATCH] add user_name, user_id, groups in userinfo --- auth.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/auth.py b/auth.py index 15abc68..1a525a5 100644 --- a/auth.py +++ b/auth.py @@ -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__':