in api/PclusterApiHandler.py [0:0]
def authenticate(groups):
if disable_auth():
return
access_token = request.cookies.get("accessToken")
if not access_token:
return abort(401)
try:
decoded = jwt_decode(access_token)
except jwt.ExpiredSignatureError:
refresh_token = request.cookies.get('refreshToken', None)
if refresh_token is None:
return abort(401)
tokens = refresh_tokens(refresh_token)
decoded = jwt_decode(tokens['accessToken'])
set_auth_cookies_in_context(tokens)
except Exception as e:
return abort(401)
if (not groups):
return abort(403)
jwt_roles = set(decoded.get(USER_ROLES_CLAIM, []))
groups_granted = groups.intersection(jwt_roles)
if len(groups_granted) == 0:
return abort(403)