1.9 KiB
Використовуйте старі коди статусу помилки автентифікації 403
До версії FastAPI 0.122.0, коли інтегровані засоби безпеки повертали клієнту помилку після невдалої автентифікації, вони використовували HTTP код статусу 403 Forbidden.
Починаючи з версії FastAPI 0.122.0, вони використовують більш доречний HTTP код статусу 401 Unauthorized і повертають змістовний заголовок WWW-Authenticate у відповіді, відповідно до специфікацій HTTP, RFC 7235, RFC 9110.
Але якщо з якоїсь причини ваші клієнти залежать від старої поведінки, ви можете повернутися до неї, переписавши метод make_not_authenticated_error у ваших класах безпеки.
Наприклад, ви можете створити підклас HTTPBearer, який повертатиме помилку 403 Forbidden замість типового 401 Unauthorized:
{* ../../docs_src/authentication_error_status_code/tutorial001_an_py310.py hl[9:13] *}
/// tip | Порада
Зверніть увагу, що функція повертає екземпляр винятку, вона не породжує його. Породження відбувається в іншій частині внутрішнього коду.
///