in server/app/lib/asfuid.py [0:0]
def __init__(self):
if quart.session and "uid" in quart.session:
# Assert that the oauth session is not too old
assert quart.session.get("timestamp", 0) > int(
time.time() - SESSION_TIMEOUT
), "Session timeout, please authenticate again"
self.uid = quart.session["uid"]
self.name = quart.session["fullname"]
self.projects = quart.session["projects"]
self.pmcs = quart.session["pmcs"]
self.root = bool(quart.session["isRoot"])
self.member = bool(quart.session["isMember"])
self.chair = bool(quart.session["isChair"])
self.roleaccount = False
elif (
config.server.debug_mode is True
and quart.request.authorization
and quart.request.authorization.username == config.server.debug_user
and quart.request.authorization.password == config.server.debug_password
):
self.uid = "testing"
self.name = "Test Account"
self.projects = []
self.pmcs = []
self.root = True
self.roleaccount = False
self.member = False
self.chair = False
# Role account?
elif quart.request.authorization:
username = quart.request.authorization.username
if (
username in config.ldap.roleaccounts
and config.ldap.roleaccounts[username] == quart.request.authorization.password
):
self.uid = username
self.name = "API Role Account"
self.root = False
self.member = False
self.chair = False
self.pmcs = []
self.projects = []
self.roleaccount = True
else:
raise AssertionError("Invalid authorization provided. If you are a committer, please log in via oauth")
else:
raise AssertionError("User not logged in via Web UI")