This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
"""
|
||||
|
||||
from typing import Any
|
||||
|
||||
from settings import SESSION_COOKIE_NAME, SESSION_TOKEN_HEADER
|
||||
from utils.logger import root_logger as logger
|
||||
|
||||
@@ -113,26 +114,25 @@ async def get_auth_token(request: Any) -> str | None:
|
||||
token = auth_header.replace("Bearer ", "", 1).strip()
|
||||
logger.debug(f"[decorators] Извлечен Bearer токен: {len(token)}")
|
||||
return token
|
||||
else:
|
||||
logger.debug("[decorators] Authorization заголовок не содержит Bearer токен")
|
||||
logger.debug("[decorators] Authorization заголовок не содержит Bearer токен")
|
||||
|
||||
# 6. Проверяем cookies
|
||||
if hasattr(request, "cookies") and request.cookies:
|
||||
if isinstance(request.cookies, dict):
|
||||
cookies = request.cookies
|
||||
elif hasattr(request.cookies, "get"):
|
||||
cookies = {k: request.cookies.get(k) for k in getattr(request.cookies, "keys", lambda: [])()}
|
||||
cookies = {k: request.cookies.get(k) for k in getattr(request.cookies, "keys", list)()}
|
||||
else:
|
||||
cookies = {}
|
||||
|
||||
|
||||
logger.debug(f"[decorators] Доступные cookies: {list(cookies.keys())}")
|
||||
|
||||
|
||||
# Проверяем кастомную cookie
|
||||
if SESSION_COOKIE_NAME in cookies:
|
||||
token = cookies[SESSION_COOKIE_NAME]
|
||||
logger.debug(f"[decorators] Токен найден в cookie {SESSION_COOKIE_NAME}: {len(token)}")
|
||||
return token
|
||||
|
||||
|
||||
# Проверяем стандартную cookie
|
||||
if "auth_token" in cookies:
|
||||
token = cookies["auth_token"]
|
||||
@@ -150,29 +150,29 @@ async def get_auth_token(request: Any) -> str | None:
|
||||
def extract_bearer_token(auth_header: str) -> str | None:
|
||||
"""
|
||||
Извлекает токен из заголовка Authorization с Bearer схемой.
|
||||
|
||||
|
||||
Args:
|
||||
auth_header: Заголовок Authorization
|
||||
|
||||
|
||||
Returns:
|
||||
Optional[str]: Извлеченный токен или None
|
||||
"""
|
||||
if not auth_header:
|
||||
return None
|
||||
|
||||
|
||||
if auth_header.startswith("Bearer "):
|
||||
return auth_header[7:].strip()
|
||||
|
||||
|
||||
return None
|
||||
|
||||
|
||||
def format_auth_header(token: str) -> str:
|
||||
"""
|
||||
Форматирует токен в заголовок Authorization.
|
||||
|
||||
|
||||
Args:
|
||||
token: Токен авторизации
|
||||
|
||||
|
||||
Returns:
|
||||
str: Отформатированный заголовок
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user