Regions-ID
REGION_ID
ist ein abgekürzter Code, den Google anhand der Region zuweist, die Sie beim Erstellen Ihrer Anwendung ausgewählt haben. Der Code bezieht sich nicht auf ein Land oder eine Provinz, auch wenn einige Regions-IDs häufig verwendeten Länder- und Provinzcodes ähneln können. Bei Anwendungen, die nach Februar 2020 erstellt wurden, ist REGION_ID.r
in den App Engine-URLs enthalten. Bei Anwendungen, die vor diesem Datum erstellt wurden, ist die Regions-ID in der URL optional.
Fügen Sie Ihrem Webdienst einen Anmeldeablauf für Nutzer hinzu, der Firebase Authentication nutzt.
In diesem Schritt des Leitfadens aktualisieren Sie Ihren Webdienst, um Nutzer zu authentifizieren und die eigenen Informationen eines Nutzers nach der Authentifizierung abzurufen und anzeigen zu lassen. Beachten Sie, dass für diesen Schritt die Website-Anforderungszeiten weiterhin global und nicht nutzerspezifisch sind.
Hinweis
Wenn Sie alle vorherigen Schritte in diesem Leitfaden abgeschlossen haben, überspringen Sie diesen Abschnitt. Wenn nicht, führen Sie einen der folgenden Schritte aus:
Erstellen Sie zuerst eine Python 3-Anwendung und führen Sie alle Schritte bis zu diesem Schritt aus.
Wenn Sie bereits ein Google Cloud-Projekt haben, laden Sie eine Kopie des Webdienstes herunter und fügen Sie diesem Firebase hinzu:
Laden Sie das Repository der Beispielanwendung mit Git herunter:
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
Alternativ können Sie das Beispiel als ZIP-Datei herunterladen und dann extrahieren.
Gehen Sie zu dem Verzeichnis, das eine Kopie der Dateien aus dem vorherigen Schritt enthält:
cd python-docs-samples/appengine/standard_python3/building-an-app/building-an-app-2
Fügen Sie Ihrem Google Cloud-Projekt und Ihrem Webdienst Firebase hinzu.
Firebase-Authentifizierungsmethoden hinzufügen
Firebase stellt JavaScript-Methoden und Variablen bereit, mit denen Sie das Anmeldeverhalten für Ihren Webdienst konfigurieren können. Fügen Sie für diesen Webdienst eine Abmeldefunktion hinzu, eine Variable, mit der die Anmelde-UI konfiguriert wird, und eine Funktion, die steuert, was sich ändert, wenn ein Nutzer sich an- oder abmeldet.
Ersetzen Sie die aktuelle Event-Listener-Methode der Datei static/script.js
durch den folgenden Code, um die Verhaltenshinweisen hinzuzufügen, die für einen Authentifizierungsablauf erforderlich sind:
Beachten Sie, dass die Methode onAuthStateChanged()
das ID-Token des Nutzers als Cookie speichert. Diese Methode bestimmt, was sich ändert, wenn sich ein Nutzer an- oder abmeldet.
Dieses ID-Token ist ein eindeutiges Token, das Firebase automatisch generiert, wenn ein Nutzer sich erfolgreich anmeldet. Es wird vom Server zur Authentifizierung des Nutzers verwendet.
Webdienst für die Nutzung von Tokens aktualisieren
Überprüfen Sie als Nächstes die Nutzer auf dem Server mit ihrem eindeutigen Firebase-ID-Token und entschlüsseln Sie dann deren Token, damit Sie ihre Daten an sie zurückgeben können.
So verwenden Sie das Firebase-ID-Token:
Das Token in der Methode
root
der Dateimain.py
abrufen, verifizieren und entschlüsseln:Achten Sie darauf, dass die Datei
requirements.txt
alle erforderlichen Abhängigkeiten enthält:
Webdienst testen
Testen Sie jetzt Ihren Webdienst. Führen Sie ihn dazu lokal aus und verwenden Sie eine virtuelle Umgebung:
Führen Sie die folgenden Befehle im Hauptverzeichnis Ihres Projekts aus, um neue Abhängigkeiten zu installieren und Ihren Webdienst auszuführen. Wenn keine virtuelle Umgebung für lokale Tests eingerichtet ist, lesen Sie die Informationen unter Webdienst testen.
pip install -r requirements.txt python main.py
Geben Sie die folgende Adresse in Ihren Webbrowser ein, um den Webdienst aufzurufen:
http://localhost:8080
Webdienst bereitstellen
Nun, da die Authentifizierung lokal ausgeführt wird, können Sie Ihren Webdienst wieder für App Engine bereitstellen.
Führen Sie den folgenden Befehl im Stammverzeichnis des Projekts aus, in dem sich die Datei app.yaml
befindet:
gcloud app deploy
Der gesamte Traffic wird automatisch an die neue Version geleitet, die Sie bereitgestellt haben.
Weitere Informationen zum Verwalten von Versionen finden Sie unter Dienste und Versionen verwalten.
Ihren Dienst aufrufen:
Mit dem folgenden Befehl können Sie den Browser schnell starten und unter https://PROJECT_ID.REGION_ID.r.appspot.com
auf Ihren Webdienst zugreifen:
gcloud app browse
Nächste Schritte
Nachdem Sie die Nutzerauthentifizierung eingerichtet haben, können Sie sich darüber informieren, wie Sie Ihren Webdienst aktualisieren, um Daten für authentifizierte Nutzer zu personalisieren.