cookie-debug
All checks were successful
Deploy on push / deploy (push) Successful in 2m48s

This commit is contained in:
2025-09-27 20:17:00 +03:00
parent 19e0092a83
commit c46b30a671
4 changed files with 106 additions and 31 deletions

View File

@@ -292,14 +292,53 @@ class AuthMiddleware:
if not token:
cookies = headers.get("cookie", "")
logger.debug(f"[middleware] Проверяем cookies: {cookies[:100]}...")
logger.debug(f"[middleware] Ищем cookie с именем: '{SESSION_COOKIE_NAME}'")
# 🔍 Дополнительная диагностика для отладки
if not cookies:
logger.warning("[middleware] 🚨 ПРОБЛЕМА: Cookie заголовок полностью отсутствует!")
logger.warning(f"[middleware] 🔍 Все заголовки: {list(headers.keys())}")
# Проверяем, есть ли активные сессии для этого пользователя
try:
session_keys = await redis_adapter.keys("session:*")
if session_keys:
logger.warning(
f"[middleware] 🔍 В Redis найдено {len(session_keys)} активных сессий, но cookie не передается!"
)
# Показываем первые 3 сессии для диагностики
for session_key in session_keys[:3]:
try:
session_data = await redis_adapter.hgetall(session_key)
if session_data:
user_id = (
session_key.decode("utf-8").split(":")[1]
if isinstance(session_key, bytes)
else session_key.split(":")[1]
)
logger.warning(
f"[middleware] 🔍 Активная сессия для user_id={user_id}: {session_key}"
)
except Exception as e:
logger.debug(f"[middleware] Ошибка чтения сессии {session_key}: {e}")
except Exception as e:
logger.debug(f"[middleware] Ошибка проверки сессий: {e}")
cookie_items = cookies.split(";")
found_cookies = []
for item in cookie_items:
if "=" in item:
name, value = item.split("=", 1)
if name.strip() == SESSION_COOKIE_NAME:
cookie_name = name.strip()
found_cookies.append(cookie_name)
if cookie_name == SESSION_COOKIE_NAME:
token = value.strip()
logger.debug(f"[middleware] Токен получен из cookie {SESSION_COOKIE_NAME}: {len(token)}")
logger.debug(
f"[middleware] ✅ Токен получен из cookie {SESSION_COOKIE_NAME}: {len(token)} символов"
)
break
logger.debug(f"[middleware] Найденные cookies: {found_cookies}")
if not token:
logger.debug(f"[middleware] ❌ Cookie '{SESSION_COOKIE_NAME}' не найден среди: {found_cookies}")
if token:
logger.debug(f"[middleware] Токен найден: {len(token)} символов")