From 8b6eb02b3f479c4b32132bdad16f90dc393653f8 Mon Sep 17 00:00:00 2001 From: Nils Lindemann Date: Thu, 12 Oct 2023 02:14:37 +0200 Subject: [PATCH 1/5] =?UTF-8?q?=F0=9F=8C=90=20Add=20German=20translation?= =?UTF-8?q?=20for=20`docs/de/docs/tutorial/security/index.md`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Full translation * In sync with current docs/en/docs/tutorial/security/index.md * Google Translate used * Manually checked * Checked for errors using LanguageTool --- docs/de/docs/tutorial/security/index.md | 101 ++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 docs/de/docs/tutorial/security/index.md diff --git a/docs/de/docs/tutorial/security/index.md b/docs/de/docs/tutorial/security/index.md new file mode 100644 index 0000000000000..3ad748ae691ff --- /dev/null +++ b/docs/de/docs/tutorial/security/index.md @@ -0,0 +1,101 @@ +# Sicherheit + +Es gibt viele Wege, Sicherheit, Authentifizierung und Autorisierung zu handhaben. + +Und normalerweise ist es ein komplexes und "schwieriges" Thema. + +In vielen Frameworks und Systemen erfordert allein die Handhabung von Sicherheit und Authentifizierung viel Aufwand und Code (in vielen Fällen kann er 50 % oder mehr des gesamten geschriebenen Codes ausmachen). + +**FastAPI** bietet mehrere Tools, die Ihnen helfen, schnell und auf standardisierte Weise mit **Sicherheit** umzugehen, ohne alle Sicherheits-Spezifikationen studieren und erlernen zu müssen. + +Aber schauen wir uns zunächst ein paar kleine Konzepte an. + +## In Eile? + +Wenn Ihnen diese Begriffe egal sind und Sie einfach *jetzt* Sicherheit mit Authentifizierung basierend auf Benutzername und Passwort hinzufügen müssen, fahren Sie mit den nächsten Kapiteln fort. + +## OAuth2 + +OAuth2 ist eine Spezifikation, die verschiedene Möglichkeiten zur Handhabung von Authentifizierung und Autorisierung definiert. + +Es handelt sich um eine recht umfangreiche Spezifikation, und sie deckt mehrere komplexe Anwendungsfälle ab. + +Sie umfasst Möglichkeiten zur Authentifizierung mithilfe eines "Dritten" ("third party"). + +Das ist es, was alle diese "Login mit Facebook, Google, Twitter, GitHub"-Systeme unter der Haube verwenden. + +### OAuth 1 + +Es gab ein OAuth 1, das sich stark von OAuth2 unterscheidet und komplexer ist, da es direkte Spezifikationen enthält, wie die Kommunikation verschlüsselt wird. + +Heutzutage ist es nicht sehr populär und wird kaum verwendet. + +OAuth2 spezifiziert nicht, wie die Kommunikation verschlüsselt werden soll, sondern erwartet, dass Ihre Anwendung mit HTTPS bereitgestellt wird. + +!!! tip + Im Abschnitt über **Deployment** erfahren Sie, wie Sie HTTPS mithilfe von Traefik und Let's Encrypt kostenlos einrichten. + + +## OpenID Connect + +OpenID Connect ist eine weitere Spezifikation, die auf **OAuth2** basiert. + +Sie erweitert lediglich OAuth2, indem sie einige Dinge spezifiziert, die in OAuth2 relativ mehrdeutig sind, um zu versuchen, es interoperabler zu machen. + +Beispielsweise verwendet der Google Login OpenID Connect (welches seinerseits OAuth2 verwendet). + +Aber der Facebook Login unterstützt OpenID Connect nicht. Es hat seine eigene Variante von OAuth2. + +### OpenID (nicht "OpenID Connect") + +Es gab auch eine "OpenID"-Spezifikation. Sie versuchte das Gleiche zu lösen wie **OpenID Connect**, basierte aber nicht auf OAuth2. + +Es handelte sich also um ein komplett zusätzliches System. + +Heutzutage ist es nicht sehr populär und wird kaum verwendet. + +## OpenAPI + +OpenAPI (früher bekannt als Swagger) ist die offene Spezifikation zum Erstellen von APIs (jetzt Teil der Linux Foundation). + +**FastAPI** basiert auf **OpenAPI**. + +Das ist es, was erlaubt, mehrere automatische interaktive Dokumentations-Oberflächen, Codegenerierung, usw. zu haben. + +OpenAPI bietet die Möglichkeit, mehrere Sicherheits"systeme" zu definieren. + +Durch deren Verwendung können Sie alle diese Standards-basierten Tools nutzen, einschließlich dieser interaktiven Dokumentationssysteme. + +OpenAPI definiert die folgenden Sicherheitssysteme: + +* `apiKey`: ein anwendungsspezifischer Schlüssel, der stammen kann von: + * Einem Query-Parameter. + * Einem Header. + * Einem Cookie. +* `http`: Standard HTTP-Authentifizierungssysteme, einschließlich: + * `bearer`: ein Header `Authorization` mit dem Wert `Bearer` plus einem Token. Dies wird von OAuth2 geerbt. + * HTTP Basic Authentication. + * HTTP Digest, usw. +* `oauth2`: Alle OAuth2-Methoden zum Umgang mit Sicherheit (genannt "Flows"). + * Mehrere dieser Flows eignen sich zum Aufbau eines OAuth 2.0-Authentifizierungsanbieters (wie Google, Facebook, Twitter, GitHub usw.): + * `implicit` + * `clientCredentials` + * `authorizationCode` + * Es gibt jedoch einen bestimmten "Flow", der perfekt für die direkte Abwicklung der Authentifizierung in derselben Anwendung verwendet werden kann: + * `password`: Einige der nächsten Kapitel werden Beispiele dafür behandeln. +* `openIdConnect`: bietet eine Möglichkeit, zu definieren, wie OAuth2-Authentifizierungsdaten automatisch ermittelt werden können. + * Diese automatische Erkennung ist es, die in der OpenID Connect Spezifikation definiert ist. + + +!!! tip + Auch die Integration anderer Authentifizierungs-/Autorisierungsanbieter wie Google, Facebook, Twitter, GitHub, usw. ist möglich und relativ einfach. + + Das komplexeste Problem besteht darin, einen Authentifizierungs-/Autorisierungsanbieter wie solche aufzubauen, aber **FastAPI** reicht Ihnen die Tools, das einfach zu erledigen, während Ihnen die schwere Arbeit abgenommen wird. + +## **FastAPI** Tools + +FastAPI stellt für jedes dieser Sicherheitssysteme im Modul `fastapi.security` verschiedene Tools bereit, die die Verwendung dieser Sicherheitsmechanismen vereinfachen. + +In den nächsten Kapiteln erfahren Sie, wie Sie mit diesen von **FastAPI** bereitgestellten Tools Sicherheit zu Ihrer API hinzufügen. + +Und Sie werden auch sehen, wie dies automatisch in das interaktive Dokumentationssystem integriert wird. From a58de2c6419308cd5429f48b2cf0e4e1be956147 Mon Sep 17 00:00:00 2001 From: Nils Lindemann Date: Sun, 22 Oct 2023 18:19:35 +0200 Subject: [PATCH 2/5] "Tip" -> "Tipp" --- docs/de/docs/tutorial/security/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/de/docs/tutorial/security/index.md b/docs/de/docs/tutorial/security/index.md index 3ad748ae691ff..2db52b445a03b 100644 --- a/docs/de/docs/tutorial/security/index.md +++ b/docs/de/docs/tutorial/security/index.md @@ -32,7 +32,7 @@ Heutzutage ist es nicht sehr populär und wird kaum verwendet. OAuth2 spezifiziert nicht, wie die Kommunikation verschlüsselt werden soll, sondern erwartet, dass Ihre Anwendung mit HTTPS bereitgestellt wird. -!!! tip +!!! tip "Tipp" Im Abschnitt über **Deployment** erfahren Sie, wie Sie HTTPS mithilfe von Traefik und Let's Encrypt kostenlos einrichten. @@ -87,7 +87,7 @@ OpenAPI definiert die folgenden Sicherheitssysteme: * Diese automatische Erkennung ist es, die in der OpenID Connect Spezifikation definiert ist. -!!! tip +!!! tip "Tipp" Auch die Integration anderer Authentifizierungs-/Autorisierungsanbieter wie Google, Facebook, Twitter, GitHub, usw. ist möglich und relativ einfach. Das komplexeste Problem besteht darin, einen Authentifizierungs-/Autorisierungsanbieter wie solche aufzubauen, aber **FastAPI** reicht Ihnen die Tools, das einfach zu erledigen, während Ihnen die schwere Arbeit abgenommen wird. From 22270dd707f826bd311158a24c8d788136e5f149 Mon Sep 17 00:00:00 2001 From: Nils Lindemann Date: Sun, 22 Oct 2023 21:14:04 +0200 Subject: [PATCH 3/5] "Sicherheitssystem" -> "Sicherheitsschema" --- docs/de/docs/tutorial/security/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/de/docs/tutorial/security/index.md b/docs/de/docs/tutorial/security/index.md index 2db52b445a03b..58caf1ee71e11 100644 --- a/docs/de/docs/tutorial/security/index.md +++ b/docs/de/docs/tutorial/security/index.md @@ -66,7 +66,7 @@ OpenAPI bietet die Möglichkeit, mehrere Sicherheits"systeme" zu definieren. Durch deren Verwendung können Sie alle diese Standards-basierten Tools nutzen, einschließlich dieser interaktiven Dokumentationssysteme. -OpenAPI definiert die folgenden Sicherheitssysteme: +OpenAPI definiert die folgenden Sicherheitsschemas: * `apiKey`: ein anwendungsspezifischer Schlüssel, der stammen kann von: * Einem Query-Parameter. @@ -94,7 +94,7 @@ OpenAPI definiert die folgenden Sicherheitssysteme: ## **FastAPI** Tools -FastAPI stellt für jedes dieser Sicherheitssysteme im Modul `fastapi.security` verschiedene Tools bereit, die die Verwendung dieser Sicherheitsmechanismen vereinfachen. +FastAPI stellt für jedes dieser Sicherheitsschemas im Modul `fastapi.security` verschiedene Tools bereit, die die Verwendung dieser Sicherheitsmechanismen vereinfachen. In den nächsten Kapiteln erfahren Sie, wie Sie mit diesen von **FastAPI** bereitgestellten Tools Sicherheit zu Ihrer API hinzufügen. From e85b36dee47aeb124b8ee2b5bfb9147d8421a230 Mon Sep 17 00:00:00 2001 From: Nils Lindemann Date: Sun, 29 Oct 2023 04:55:25 +0100 Subject: [PATCH 4/5] Use typographic quotes --- docs/de/docs/tutorial/security/index.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/de/docs/tutorial/security/index.md b/docs/de/docs/tutorial/security/index.md index 58caf1ee71e11..ed2a4c99cea88 100644 --- a/docs/de/docs/tutorial/security/index.md +++ b/docs/de/docs/tutorial/security/index.md @@ -2,7 +2,7 @@ Es gibt viele Wege, Sicherheit, Authentifizierung und Autorisierung zu handhaben. -Und normalerweise ist es ein komplexes und "schwieriges" Thema. +Und normalerweise ist es ein komplexes und „schwieriges“ Thema. In vielen Frameworks und Systemen erfordert allein die Handhabung von Sicherheit und Authentifizierung viel Aufwand und Code (in vielen Fällen kann er 50 % oder mehr des gesamten geschriebenen Codes ausmachen). @@ -20,9 +20,9 @@ OAuth2 ist eine Spezifikation, die verschiedene Möglichkeiten zur Handhabung vo Es handelt sich um eine recht umfangreiche Spezifikation, und sie deckt mehrere komplexe Anwendungsfälle ab. -Sie umfasst Möglichkeiten zur Authentifizierung mithilfe eines "Dritten" ("third party"). +Sie umfasst Möglichkeiten zur Authentifizierung mithilfe eines „Dritten“ („third party“). -Das ist es, was alle diese "Login mit Facebook, Google, Twitter, GitHub"-Systeme unter der Haube verwenden. +Das ist es, was alle diese „Login mit Facebook, Google, Twitter, GitHub“-Systeme unter der Haube verwenden. ### OAuth 1 @@ -46,9 +46,9 @@ Beispielsweise verwendet der Google Login OpenID Connect (welches seinerseits OA Aber der Facebook Login unterstützt OpenID Connect nicht. Es hat seine eigene Variante von OAuth2. -### OpenID (nicht "OpenID Connect") +### OpenID (nicht „OpenID Connect“) -Es gab auch eine "OpenID"-Spezifikation. Sie versuchte das Gleiche zu lösen wie **OpenID Connect**, basierte aber nicht auf OAuth2. +Es gab auch eine „OpenID“-Spezifikation. Sie versuchte das Gleiche zu lösen wie **OpenID Connect**, basierte aber nicht auf OAuth2. Es handelte sich also um ein komplett zusätzliches System. @@ -62,7 +62,7 @@ OpenAPI (früher bekannt als Swagger) ist die offene Spezifikation zum Erstellen Das ist es, was erlaubt, mehrere automatische interaktive Dokumentations-Oberflächen, Codegenerierung, usw. zu haben. -OpenAPI bietet die Möglichkeit, mehrere Sicherheits"systeme" zu definieren. +OpenAPI bietet die Möglichkeit, mehrere Sicherheits„systeme“ zu definieren. Durch deren Verwendung können Sie alle diese Standards-basierten Tools nutzen, einschließlich dieser interaktiven Dokumentationssysteme. @@ -76,12 +76,12 @@ OpenAPI definiert die folgenden Sicherheitsschemas: * `bearer`: ein Header `Authorization` mit dem Wert `Bearer` plus einem Token. Dies wird von OAuth2 geerbt. * HTTP Basic Authentication. * HTTP Digest, usw. -* `oauth2`: Alle OAuth2-Methoden zum Umgang mit Sicherheit (genannt "Flows"). +* `oauth2`: Alle OAuth2-Methoden zum Umgang mit Sicherheit (genannt „Flows“). * Mehrere dieser Flows eignen sich zum Aufbau eines OAuth 2.0-Authentifizierungsanbieters (wie Google, Facebook, Twitter, GitHub usw.): * `implicit` * `clientCredentials` * `authorizationCode` - * Es gibt jedoch einen bestimmten "Flow", der perfekt für die direkte Abwicklung der Authentifizierung in derselben Anwendung verwendet werden kann: + * Es gibt jedoch einen bestimmten „Flow“, der perfekt für die direkte Abwicklung der Authentifizierung in derselben Anwendung verwendet werden kann: * `password`: Einige der nächsten Kapitel werden Beispiele dafür behandeln. * `openIdConnect`: bietet eine Möglichkeit, zu definieren, wie OAuth2-Authentifizierungsdaten automatisch ermittelt werden können. * Diese automatische Erkennung ist es, die in der OpenID Connect Spezifikation definiert ist. From 21467c0ce9e8f45239a0d669bb455ceebb2f232e Mon Sep 17 00:00:00 2001 From: Nils Lindemann Date: Sat, 11 Nov 2023 02:39:44 +0100 Subject: [PATCH 5/5] "Standard " -> "Standard-" --- docs/de/docs/tutorial/security/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/de/docs/tutorial/security/index.md b/docs/de/docs/tutorial/security/index.md index ed2a4c99cea88..7a11e704dcfa0 100644 --- a/docs/de/docs/tutorial/security/index.md +++ b/docs/de/docs/tutorial/security/index.md @@ -72,7 +72,7 @@ OpenAPI definiert die folgenden Sicherheitsschemas: * Einem Query-Parameter. * Einem Header. * Einem Cookie. -* `http`: Standard HTTP-Authentifizierungssysteme, einschließlich: +* `http`: Standard-HTTP-Authentifizierungssysteme, einschließlich: * `bearer`: ein Header `Authorization` mit dem Wert `Bearer` plus einem Token. Dies wird von OAuth2 geerbt. * HTTP Basic Authentication. * HTTP Digest, usw.