import json from aiohttp import web def authenticate(request): if('token' not in request.query): return None token = request.query['token'] user = loadUser(token) return user def authorise(request): user = authenticate(request) if(user is None): return False server = server = request.match_info['server'] return server in user['servers'] def loadUser(token): with open('/app/config/users.json') as f: data = json.load(f)['users'] if(token in data): return data[token] return None def getServers(request): user = authenticate(request) if(user is not none): return user['servers'] return none if __name__ == "__main__": app = web.Application() app.add_routes([web.post('/{server}', authorise)]) web.run_app(app)