Einrichten von Google Cloud Storage als Dateispeicher von Logto
Ein praktischer Leitfaden zum Einrichten von Google Cloud Storage als Dateispeicher von Logto.
Standardmäßig verwendet die Logto-Konsole ein Texteingabefeld für statische Datei-URLs, wie z. B. Avatare. Um eine intuitivere Dateiupload-Erfahrung mit Drag-and-Drop-Funktionalität zu ermöglichen, musst du einen Speicheranbieter konfigurieren.
In diesem Artikel wird ein schrittweiser Leitfaden zum Einrichten von Google Cloud Storage als Speicheranbieter bereitgestellt.
Voraussetzungen
- Eine Logto-Instanz, die entweder nativ in Node.js oder in einem Docker-Container läuft. Wenn du noch keine hast, schaue dir diesen Leitfaden an: https://docs.logto.io/docs/tutorials/get-started/#local
- Ein Google Cloud-Projekt
Vorbereitung des Buckets
Das Erstellen eines Buckets ist unkompliziert. Siehe die offizielle Google Cloud-Dokumentation: https://cloud.google.com/storage/docs/creating-buckets.
Wenn der Bucket bereit ist, ist der nächste Schritt, den öffentlichen Anzeigezugriff einzurichten. So geht's:
- Gehe in der Google Cloud-Konsole zur Seite Buckets in der Cloud Storage.
- Klicke in der Liste der Buckets auf den Namen des Buckets, den du öffentlich machen möchtest.
- Wähle oben auf der Seite die Registerkarte Berechtigungen aus.
- Klicke im Abschnitt Berechtigungen auf die Schaltfläche Zugriff gewähren.
- Gib im Feld Neue Prinzipale
allUsers
ein. - Gib im Dropdown-Menü Rolle auswählen Storage Object Viewer im Filterfeld ein und wähle den Storage Object Viewer aus den gefilterten Ergebnissen.
- Klicke auf Speichern.
- Klicke auf Öffentlichen Zugriff zulassen.
Stelle sicher, dass die Rolle "Storage Object Viewer" zugewiesen ist. Hier ist ein Screenshot zur Referenz:
Erhalt der Schlüsseldatei
Google Cloud SDKs verwenden häufig eine "Schlüsseldatei." Wenn du mit Google Cloud nicht vertraut bist, könnte dies der herausforderndste Teil sein. So erhältst du sie:
- Gehe zur Dienstkonto-Seite: https://console.cloud.google.com/iam-admin/serviceaccounts
- Erstelle ein Konto, gib einen Namen ein und fahre fort.
- Wähle im nächsten Schritt die Rolle „Storage Object User“. Du kannst sie über den Filter finden.
- Nachdem du das Konto erstellt hast, gehe zur Kontodetailseite und wähle die Registerkarte „Schlüssel“ aus.
- Klicke auf „Schlüssel hinzufügen“, wähle „Neuen Schlüssel erstellen“, dann „json“ im Dialog aus und lade deine json-Datei herunter.
Hinzufügen der Schlüsseldatei zu Logto
Logto sollte Zugriff auf die Schlüsseldatei haben.
Ausführung in Node.js
Kopiere die Datei nach /path/to/logto/core
und benenne sie in google-storage-key.json
um.
Ausführung in einem Docker Container
Wenn du Logto in einem Docker-Container betreibst, musst du die Datei im Container bereitstellen. Wenn du Docker Compose verwendest, füge dies zu deiner Konfiguration hinzu:
Vergiss nicht, /path/to
durch den tatsächlichen Pfad zu ersetzen.
Aktualisieren der Anbieter-Konfigurationen
Wir verwenden das CLI von Logto, um die Anbieter-Konfigurationen zu aktualisieren. Das CLI befindet sich normalerweise im Stammordner der Logto-Instanz. Um mehr zu erfahren, siehe diesen Link: https://docs.logto.io/docs/references/using-cli/
Vorbereitung des JSON
Hier ist eine Beispiel-Konfigurations-JSON:
Vergiss nicht, projectId
und bucketName
durch deine Werte zu ersetzen.
Aktualisierung über das CLI
Konvertiere das JSON in einen String und führe den folgenden Befehl aus:
Testen der Einrichtung
Jetzt, da alles eingerichtet ist, denke daran, Logto neu zu starten und es auszuprobieren. Du kannst zum Abschnitt "Sign-in experience" gehen und versuchen, ein Logo hochzuladen.
Wenn du diese Schritte kompliziert findest, solltest du die Cloud-Version von Logto in Erwägung ziehen. Wir kümmern uns um alles für dich!