Files
eamco_payment_api/app/auth/views.py
2024-02-28 16:08:07 -05:00

43 lines
1.3 KiB
Python

from flask import request, jsonify
from app.auth import auth
from app import db
from app.classes.auth import Auth_User
@auth.route("/whoami", methods=["GET"])
def check_session():
"""
Checks auth token to ensure user is authenticated
"""
api_key = request.headers.get('Authorization')
if not api_key:
return jsonify({"error": "True"}), 200
else:
api_key = api_key.replace('bearer ', '', 1)
api_key = api_key.replace('"', '')
user_exists = db.session\
.query(Auth_User)\
.filter(Auth_User.api_key == api_key)\
.first()
if not user_exists:
return jsonify({"error": True}), 200
else:
user = db.session\
.query(Auth_User)\
.filter(Auth_User.api_key == api_key)\
.first()
return jsonify({
"ok": True,
'user': {
'user_name': user.display_name,
'user_email': user.email,
'user_admin': user.admin_role,
'token': user.api_key,
'confirmed': user.confirmed
},
'token': user.api_key
}), 200