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

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.

///