Spaces:
Sleeping
Sleeping
from flask import request, jsonify | |
import jwt | |
from dotenv import load_dotenv | |
import os | |
load_dotenv() | |
def auth_user(next_function): | |
def middleware_function(*args, **kwargs): | |
try: | |
token = request.headers.get('Authorization', '').split(" ")[1] | |
is_custom_auth = len(token) < 500 | |
decoded_data = None | |
if token and is_custom_auth: | |
secret_key = os.getenv('JWT_SECRET') | |
decoded_data = jwt.decode(token, secret_key, algorithms=["HS256"]) | |
print(decoded_data) | |
dat = decoded_data.get('sub') | |
request.email = dat.get('email') | |
request.userId = dat.get('id') | |
else: | |
#google auth | |
decoded_data = jwt.decode(token) | |
request.email = decoded_data.get('email') | |
request.userId = decoded_data.get('sub') | |
return next_function(*args, **kwargs) | |
except Exception as e: | |
print(e) # Log the error if needed | |
return jsonify({"error": "Unauthorized"}), 401 | |
return middleware_function |