* Sync with #14217 * Sync with #14359 * Sync with #13786 * Sync with #14070 * Sync with #14120 * Sync with #14211 * Sync with #14405 * "to deploy" -> "deployen" The LLM used that translation a lot ithis convinced me that "deployen" it is the better word. "bereitstellen" (or "ausliefern") is still used for "to serve". --------- Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com> Co-authored-by: Yurii Motov <yurii.motov.monte@gmail.com>
1.4 KiB
Alte 403-Authentifizierungsfehler-Statuscodes verwenden
Vor FastAPI-Version 0.122.0 verwendeten die integrierten Sicherheits-Utilities den HTTP-Statuscode 403 Forbidden, wenn sie dem Client nach einer fehlgeschlagenen Authentifizierung einen Fehler zurückgaben.
Ab FastAPI-Version 0.122.0 verwenden sie den passenderen HTTP-Statuscode 401 Unauthorized und geben in der Response einen sinnvollen WWW-Authenticate-Header zurück, gemäß den HTTP-Spezifikationen, RFC 7235, RFC 9110.
Aber falls Ihre Clients aus irgendeinem Grund vom alten Verhalten abhängen, können Sie darauf zurückgreifen, indem Sie in Ihren Sicherheitsklassen die Methode make_not_authenticated_error überschreiben.
Sie können beispielsweise eine Unterklasse von HTTPBearer erstellen, die einen Fehler 403 Forbidden zurückgibt, statt des Default-401 Unauthorized-Fehlers:
{* ../../docs_src/authentication_error_status_code/tutorial001_an_py39.py hl[9:13] *}
/// tip | Tipp
Beachten Sie, dass die Funktion die Exception-Instanz zurückgibt; sie wirft sie nicht. Das Werfen erfolgt im restlichen internen Code.
///