fastapi/docs/uk/docs/how-to/authentication-error-status...

1.9 KiB
Raw Blame History

Використовуйте старі коди статусу помилки автентифікації 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 | Порада

Зверніть увагу, що функція повертає екземпляр винятку, вона не породжує його. Породження відбувається в іншій частині внутрішнього коду.

///