2021-12-04 03:49:20 +00:00
|
|
|
# coding=utf-8
|
|
|
|
|
|
|
|
import gc
|
|
|
|
|
|
|
|
from flask import request, session
|
|
|
|
from flask_restful import Resource
|
|
|
|
|
2022-05-01 12:00:20 +00:00
|
|
|
from app.config import settings
|
|
|
|
from utilities.helper import check_credentials
|
2021-12-04 03:49:20 +00:00
|
|
|
|
|
|
|
|
|
|
|
class SystemAccount(Resource):
|
|
|
|
def post(self):
|
|
|
|
if settings.auth.type != 'form':
|
2022-08-24 01:13:06 +00:00
|
|
|
return 'Unknown authentication type define in config.ini', 404
|
2021-12-04 03:49:20 +00:00
|
|
|
|
|
|
|
action = request.args.get('action')
|
|
|
|
if action == 'login':
|
|
|
|
username = request.form.get('username')
|
|
|
|
password = request.form.get('password')
|
|
|
|
if check_credentials(username, password):
|
|
|
|
session['logged_in'] = True
|
|
|
|
return '', 204
|
|
|
|
elif action == 'logout':
|
|
|
|
session.clear()
|
|
|
|
gc.collect()
|
|
|
|
return '', 204
|
|
|
|
|
2022-08-24 01:13:06 +00:00
|
|
|
return 'Unknown action', 400
|