Skonfiguruj Google Cloud Storage jako magazyn plików Logto
Praktyczny przewodnik po konfigurowaniu Google Cloud Storage jako magazynu plików Logto.
Domyślnie, Logto Console używa wprowadzenia tekstowego dla statycznych adresów URL plików, takich jak awatary. Aby umożliwić bardziej intuicyjne przesyłanie plików z funkcjonalnością przeciągania i upuszczania, musisz skonfigurować dostawcę magazynu.
Ten artykuł dostarcza przewodnika krok po kroku dotyczącego konfiguracji Google Cloud Storage jako twojego dostawcy magazynu.
Wymagania wstępne
- Instancja Logto, działająca natywnie w Node.js lub w kontenerze Docker. Jeśli nie masz jednej, zapoznaj się z tym przewodnikiem: https://docs.logto.io/docs/tutorials/get-started/#local
- Projekt Google Cloud
Przygotowanie koszyka
Tworzenie koszyka jest proste. Odnieś się do oficjalnej dokumentacji Google Cloud: https://cloud.google.com/storage/docs/creating-buckets.
Gdy koszyk jest gotowy, następnym krokiem jest ustawienie dostępu publicznego. Oto jak to zrobić:
- W konsoli Google Cloud, przejdź do strony Buckets Cloud Storage.
- Z listy koszyków kliknij nazwę koszka, który chcesz udostępnić publicznie.
- Wybierz zakładkę Permissions blisko górnej części strony.
- W sekcji Permissions kliknij przycisk Grant access.
- W polu New principals wprowadź
allUsers
. - W rozwijanym menu Select a role wpisz Storage Object Viewer w polu filtrowania i wybierz Storage Object Viewer z przefiltrowanych wyników.
- Kliknij Save.
- Kliknij Allow public access.
Upewnij się, że rola "Storage Object Viewer" jest przyznana. Oto zrzut ekranu dla odniesienia:
Uzyskiwanie pliku klucza
Google Cloud SDK często używa "pliku klucza". Jeśli nie jesteś zaznajomiony z Google Cloud, może to być najtrudniejsza część. Oto jak go uzyskać:
- Przejdź do strony konta serwisowego: https://console.cloud.google.com/iam-admin/serviceaccounts
- Utwórz konto, wprowadź nazwę i przejdź dalej.
- W następnym kroku wybierz rolę "Storage Object User". Możesz ją znaleźć za pomocą filtra.
- Gdy skończysz tworzyć konto, przejdź do strony szczegółów konta i wybierz kartę "keys".
- Kliknij "add key", wybierz "create a new key", wybierz "json" w oknie dialogowym i pobierz swój plik json.
Dodawanie pliku klucza do Logto
Logto powinno mieć dostęp do pliku klucza.
Działanie w Node.js
Skopiuj plik do /path/to/logto/core
i nazwij go google-storage-key.json
.
Działanie w kontenerze Docker
Jeśli uruchamiasz Logto w kontenerze Docker, będziesz musiał zamontować plik do kontenera. Zakładając, że używasz Docker Compose, dodaj to do swojej konfiguracji:
Pamiętaj, aby zastąpić /path/to
rzeczywistą ścieżką.
Aktualizacja konfiguracji dostawcy
Użyjemy CLI Logto do aktualizacji konfiguracji dostawcy. CLI jest zazwyczaj dostępne w głównym folderze instancji Logto. Aby dowiedzieć się więcej, sprawdź ten link: https://docs.logto.io/docs/references/using-cli/
Przygotowanie JSON
Oto przykład konfiguracji JSON:
Pamiętaj o zastąpieniu projectId
i bucketName
swoimi wartościami.
Aktualizacja za pomocą CLI
Przekształć JSON w ciąg znaków i uruchom następujące polecenie:
Testowanie konfiguracji
Teraz, gdy wszystko jest skonfigurowane, pamiętaj, aby zrestartować Logto i spróbować. Możesz przejść do sekcji "Doświadczenie logowania" i spróbować przesłać logo.
Jeśli uznasz te kroki za skomplikowane, rozważ użycie wersji chmurowej Logto. Zajmiemy się wszystkim za Ciebie!