deploy.py 1.46 KB
#-*- coding: utf-8 -*-
from flask import Flask, json, request, url_for, render_template
import random

app = Flask(__name__)

TOKEN_LENGHT = 32
TOKEN_STRING = "\
1234567890\
qwertyuiopasdfghjklzxcvbnm\
QWERTYUIOPASDFGHJKLZXCVBNM"
sessions = {}

@app.after_request
def after_request(response):
    # headers permitidos para la conversación
    response.headers.add('Access-Control-Allow-Headers', '\
        Access-Control-Allow-Methods,\
        Access-Control-Allow-Origin,\
        Content-Type')
    # orígenes permitidos para CORS
    response.headers.add('Access-Control-Allow-Origin', '*')
    # métodos permitidos
    response.headers.add('Access-Control-Allow-Methods', 'GET,POST')
    return response

def validate(name,psw):
  if name == "admin" and psw == "admin":
    return True
  return False

def token():
  result = ""
  i = 0
  while i < TOKEN_LENGHT:
    char = random.randrange(0,len(TOKEN_STRING))
    result += str(TOKEN_STRING[char]) 
    i += 1
  return result

@app.route('/login', methods = ['POST'])
def login():
  data = request.json
  if validate(data['name'],data['pass']):
    sessions['name'] = token()
    return json.dumps({
      "error_code" : 0,
      "error" : "",
      "token" : sessions['name']
    })
  return json.dumps({
      "error_code" : 1,
      "error" : "fallo en la validacion",
      "token" : None
  })

@app.route('/', methods = ['GET'])
def main():
  return render_template("generate.html")

if __name__ == "__main__":
  app.run("0.0.0.0")