Files
gommi/lib/system/logic_auth.py
2022-04-21 19:23:01 +09:00

87 lines
2.2 KiB
Python

import os
import traceback
import random
import json
import string
import codecs
# third-party
import requests
from flask import (
Blueprint,
request,
Response,
send_file,
render_template,
redirect,
jsonify,
)
# gommi 공용
from framework.logger import get_logger
from framework import path_app_root, app
from framework.util import Util
# 패키지
from .plugin import package_name, logger
from .model import ModelSetting
class SystemLogicAuth(object):
@staticmethod
def process_ajax(sub, req):
logger.debug(sub)
try:
if sub == "apikey_generate":
ret = SystemLogicAuth.apikey_generate()
return jsonify(ret)
elif sub == "do_auth":
ret = SystemLogicAuth.do_auth()
return jsonify(ret)
except Exception as exception:
logger.error("Exception:%s", exception)
logger.error(traceback.format_exc())
@staticmethod
def get_ip():
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
try:
# doesn't even have to be reachable
s.connect(("10.255.255.255", 1))
IP = s.getsockname()[0]
except Exception:
IP = "127.0.0.1"
finally:
s.close()
logger.debug("IP:%s", IP)
return IP
@staticmethod
def do_auth():
try:
# ret = {"ret": False, "msg": "", "level": 0, "point": 0}
ret = {"ret": True, "msg": "", "level": 100, "point": 100}
return ret
except Exception as exception:
logger.error("Exception:%s", exception)
logger.error(traceback.format_exc())
ret["msg"] = "인증 실패"
ret["level"] = -1
ret["point"] = -1
ModelSetting.set("auth_status", "auth_fail")
return ret
@staticmethod
def get_auth_status(retry=True):
try:
value = ModelSetting.get("auth_status")
ret = {"ret": False, "desc": "", "level": 0, "point": 0}
return ret
except Exception as exception:
logger.error("Exception:%s", exception)
logger.error(traceback.format_exc())