This commit is contained in:
@@ -921,7 +921,12 @@ async def oauth_callback_http(request: Request) -> JSONResponse | RedirectRespon
|
||||
redirect_uri = FRONTEND_URL
|
||||
|
||||
# 🎯 Стандартный OAuth flow: токен в URL для фронтенда
|
||||
from urllib.parse import parse_qs, urlencode, urlparse, urlunparse
|
||||
from urllib.parse import parse_qs, unquote, urlencode, urlparse, urlunparse
|
||||
|
||||
# 🔧 Декодируем redirect_uri если он URL-encoded
|
||||
if "%3A" in redirect_uri or "%2F" in redirect_uri:
|
||||
redirect_uri = unquote(redirect_uri)
|
||||
logger.info(f"🔧 Decoded redirect_uri: {redirect_uri}")
|
||||
|
||||
parsed_url = urlparse(redirect_uri)
|
||||
|
||||
|
||||
@@ -95,41 +95,11 @@ def console_filter(record: logging.LogRecord) -> bool:
|
||||
for phrase in [
|
||||
"Требуется авторизация",
|
||||
"AuthorizationError",
|
||||
"GraphQL request:",
|
||||
"Traceback (most recent call last):",
|
||||
"graphql.error.graphql_error.GraphQLError: Требуется авторизация",
|
||||
"load_drafts",
|
||||
"GetUserDocuments",
|
||||
"GetDrafts",
|
||||
"During handling of the above exception",
|
||||
'File "/usr/local/lib/python3.13/site-packages/graphql/execution/execute.py"',
|
||||
'File "/app/services/auth.py"',
|
||||
"await_result",
|
||||
"handle_field_error",
|
||||
"await gather",
|
||||
"get_results",
|
||||
"raise error",
|
||||
"return_type, field_nodes, info, path, await result",
|
||||
'raise AuthorizationError("Требуется авторизация")',
|
||||
"decorated_function",
|
||||
]
|
||||
):
|
||||
return False # Не показываем в консоли ошибки авторизации
|
||||
|
||||
# Подавляем повторяющиеся Ariadne логи в консоли
|
||||
if record.name in ["ariadne", "graphql"]:
|
||||
message = record.getMessage()
|
||||
if any(
|
||||
phrase in message
|
||||
for phrase in [
|
||||
"Требуется авторизация",
|
||||
"AuthorizationError",
|
||||
"load_drafts",
|
||||
"GraphQL request:",
|
||||
]
|
||||
):
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
|
||||
@@ -276,24 +246,7 @@ class AriadneAuthFilter(logging.Filter):
|
||||
def filter(self, record: logging.LogRecord) -> bool:
|
||||
message = record.getMessage()
|
||||
# Полностью блокируем логи связанные с авторизацией в Ariadne
|
||||
return not any(
|
||||
phrase in message
|
||||
for phrase in [
|
||||
"Требуется авторизация",
|
||||
"AuthorizationError",
|
||||
"GraphQL request:",
|
||||
"decorated_function",
|
||||
"load_drafts",
|
||||
"GetUserDocuments",
|
||||
"GetDrafts",
|
||||
"Traceback",
|
||||
"await gather",
|
||||
"handle_field_error",
|
||||
"await_result",
|
||||
"During handling",
|
||||
"raise error",
|
||||
]
|
||||
)
|
||||
return not any(phrase in message for phrase in ["Требуется авторизация", "AuthorizationError"])
|
||||
|
||||
|
||||
# Применяем фильтр к Ariadne и GraphQL логгерам
|
||||
|
||||
Reference in New Issue
Block a user