Ajouts à flask #78

This commit is contained in:
Colin Maudry
2026-05-18 11:47:05 +02:00
parent 63f51d7b98
commit 8dc5287918
3 changed files with 119 additions and 18 deletions
+16 -13
View File
@@ -5,6 +5,8 @@ from flask import abort, g, jsonify, make_response, request
from src.api import tokens_db
API_AUTH_DISABLED = os.getenv("API_AUTH_DISABLED", "False").lower() == "true"
def _abort_401(message: str):
resp = make_response(jsonify({"message": message}), 401)
@@ -14,19 +16,20 @@ def _abort_401(message: str):
def require_token(fn):
@wraps(fn)
def wrapper(*args, **kwargs):
header = request.headers.get("Authorization", "")
if not header.startswith("Bearer "):
_abort_401("missing_token")
token = header[len("Bearer ") :].strip()
if not token:
_abort_401("missing_token")
db_path = os.environ["USERS_DB_PATH"]
row = tokens_db.get_token_by_plaintext(db_path, token)
if row is None:
_abort_401("invalid_token")
if row["revoked_at"] is not None:
_abort_401("revoked_token")
g.token_id = row["id"]
if not API_AUTH_DISABLED:
header = request.headers.get("Authorization", "")
if not header.startswith("Bearer "):
_abort_401("missing_token")
token = header[len("Bearer ") :].strip()
if not token:
_abort_401("missing_token")
db_path = os.environ["USERS_DB_PATH"]
row = tokens_db.get_token_by_plaintext(db_path, token)
if row is None:
_abort_401("invalid_token")
if row["revoked_at"] is not None:
_abort_401("revoked_token")
g.token_id = row["id"]
return fn(*args, **kwargs)
return wrapper