Изменение: корректные ошибки 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.