This commit is contained in:
@@ -921,7 +921,12 @@ async def oauth_callback_http(request: Request) -> JSONResponse | RedirectRespon
|
|||||||
redirect_uri = FRONTEND_URL
|
redirect_uri = FRONTEND_URL
|
||||||
|
|
||||||
# 🎯 Стандартный OAuth flow: токен в 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)
|
parsed_url = urlparse(redirect_uri)
|
||||||
|
|
||||||
|
|||||||
@@ -95,41 +95,11 @@ def console_filter(record: logging.LogRecord) -> bool:
|
|||||||
for phrase in [
|
for phrase in [
|
||||||
"Требуется авторизация",
|
"Требуется авторизация",
|
||||||
"AuthorizationError",
|
"AuthorizationError",
|
||||||
"GraphQL request:",
|
|
||||||
"Traceback (most recent call last):",
|
|
||||||
"graphql.error.graphql_error.GraphQLError: Требуется авторизация",
|
"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 # Не показываем в консоли ошибки авторизации
|
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
|
return True
|
||||||
|
|
||||||
|
|
||||||
@@ -276,24 +246,7 @@ class AriadneAuthFilter(logging.Filter):
|
|||||||
def filter(self, record: logging.LogRecord) -> bool:
|
def filter(self, record: logging.LogRecord) -> bool:
|
||||||
message = record.getMessage()
|
message = record.getMessage()
|
||||||
# Полностью блокируем логи связанные с авторизацией в Ariadne
|
# Полностью блокируем логи связанные с авторизацией в Ariadne
|
||||||
return not any(
|
return not any(phrase in message for phrase in ["Требуется авторизация", "AuthorizationError"])
|
||||||
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",
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
# Применяем фильтр к Ariadne и GraphQL логгерам
|
# Применяем фильтр к Ariadne и GraphQL логгерам
|
||||||
|
|||||||
Reference in New Issue
Block a user