From 556fc8d5cb31cd22f0edb39c49443618483da45d Mon Sep 17 00:00:00 2001 From: Chris Date: Tue, 31 Mar 2026 20:35:04 +0800 Subject: [PATCH] fix(api-clients): fallback api-key hashing without argon2; show site/module parent display names --- app/security/api_client_auth.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/security/api_client_auth.py b/app/security/api_client_auth.py index c51b6f6..1f6681c 100644 --- a/app/security/api_client_auth.py +++ b/app/security/api_client_auth.py @@ -14,7 +14,11 @@ pwd_context = CryptContext(schemes=["argon2", "bcrypt"], deprecated="auto") def hash_api_key(plain_key: str) -> str: - return pwd_context.hash(plain_key) + try: + return pwd_context.hash(plain_key) + except Exception: + # Fallback for environments missing argon2 backend. + return f"sha256:{hashlib.sha256(plain_key.encode('utf-8')).hexdigest()}" def _verify_api_key(plain_key: str, stored_hash: str) -> bool: