console/src/auth.py

34 lines
823 B
Python

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)