Перейти к содержанию

Изменение: корректные ошибки Basic Auth для /bookings

Связанные документы: - Действие: [[docs/14_действия/действие_fix_basic_auth_bookings]] - Результат: [[docs/15_результаты/результат_fix_basic_auth_bookings]] - Знание: [[docs/13_знания/знание_basic_auth_500]]

Что изменено

  • api-admin/app/utils/user_auth.py
  • Убрано логирование полного JWT при провале валидации токена.
  • authenticate_with_basic():

    • поиск пользователя по email или phone (если username без @)
    • 401 для неверных кредов с WWW-Authenticate: Basic
    • 503 для ошибок Supabase/PostgREST (APIError) и прочих неожиданных ошибок
    • добавлен request_id в логи ошибок
  • api-admin/unit_tests/test_basic_auth.py

  • добавлены unit-тесты на 401/503 и выбор поля phone для username без @.

Почему

Ранее любые исключения внутри Basic Auth превращались в 500 с detail="Authentication error", из-за чего запросы к GET /bookings/ выглядели как «падение сервера», хотя часто причина была в авторизации/доступе к Supabase.