34 lines
823 B
Python
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) |