You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

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 | Порада

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

///