Files

43 lines
1.4 KiB
Python

# Copyright (C) 2025 AIDC-AI
# Licensed under the MIT License.
"""
Authentication utilities for ComfyUI Copilot
"""
from typing import Optional
from .globals import set_comfyui_copilot_api_key, get_comfyui_copilot_api_key
from .logger import log
def extract_and_store_api_key(request) -> Optional[str]:
"""
Extract Bearer token from Authorization header and store it in globals
Args:
request: The aiohttp request object
Returns:
The extracted API key if successful, None otherwise
"""
try:
auth_header = request.headers.get('Authorization')
if auth_header and auth_header.startswith('Bearer '):
api_key = auth_header[7:] # Remove 'Bearer ' prefix
set_comfyui_copilot_api_key(api_key)
log.info(f"ComfyUI Copilot API key extracted and stored: {api_key[:12]}...")
# Verify it's stored correctly
stored_key = get_comfyui_copilot_api_key()
if stored_key == api_key:
log.info("API key verification: Successfully stored in globals")
else:
log.error("API key verification: Storage failed")
return api_key
else:
log.error("No valid Authorization header found")
return None
except Exception as e:
log.error(f"Error extracting API key: {str(e)}")
return None