Logto x Cloudflare Workers: Jak zabezpieczyć swoje Workery przed publicznym dostępem?
W tym artykule przedstawiliśmy, jak zabezpieczyć swoje API Cloudflare Workers za pomocą Logto. Użyliśmy Hono jako frameworka aplikacji webowej, aby uprościć rozwój.
Darcy YeDeveloper
Przestań tracić tygodnie na uwierzytelnianie użytkowników
Uruchamiaj bezpieczne aplikacje szybciej z Logto. Zintegruj uwierzytelnianie użytkowników w kilka minut i skup się na swoim głównym produkcie.
Cloudflare Workers (w skrócie nazywane Workery w dalszej części) zapewnia środowisko serwerless, które pozwala na tworzenie nowych aplikacji lub ulepszanie istniejących bez potrzeby konfiguracji lub utrzymania infrastruktury.
Dzięki Workery możesz budować swoje aplikacje serwerless i wdrażać je natychmiast na całym świecie, zapewniając wysoce wydajność, niezawodność i skalę. Workery oferują nie tylko wyjątkową wydajność, ale również niezwykle korzystny darmowy plan oraz płatne plany w przystępnych cenach. Niezależnie od tego, czy jesteś indywidualnym deweloperem, czy członkiem dużego zespołu, Workery umożliwiają szybkie opracowywanie i dostarczanie produktów przy minimalnych nakładach operacyjnych.
Workery są domyślnie publicznie dostępne, co wymaga zastosowania środków ochrony, aby zapobiec atakom i nadużyciom. Logto zapewnia kompleksowy, przyjazny użytkownikowi i skalowalny system tożsamości, który może zabezpieczyć Workery i wszystkie inne usługi internetowe.
Ten artykuł zagłębia się w proces zabezpieczania Workers przy użyciu Logto.
Używamy Machine-to-machine (M2M) jako przykładu uzyskania dostępu do chronionych API Workers, ponieważ jest to proste. Jeżeli chcesz przyznać dostęp użytkownikom aplikacji webowej, konfiguracja jest bardzo podobna, ale powinieneś używać roli „User” zamiast roli „Machine-to-machine”.
Wejdź do Logto Admin Console i przejdź do zakładki „API resource”, stwórz zasób API o nazwie „Workers Sample API” z wskaźnikiem zasobu https://sample.workers.dev/. Następnie stwórz uprawnienie greet:visitor dla tego zasobu API.
Stwórz rolę „Workers admin role”, która jest rolą „Machine-to-machine”, i przypisz zakres greet:visitor do tej roli.
Stwórz aplikację M2M i przypisz do niej rolę „Workers admin role”.
Ponieważ Logto używa dostępu do tokenu JWT, musimy zaimplementować logikę walidacji JWT w Workers.
Ponieważ token dostępu JWT jest wydany przez Logto, musimy:
Pobierz odpowiedni klucz publiczny, aby zweryfikować podpis.
Zweryfikuj konsumenta tokenu JWT, aby był API Workers.
Te stałe mogą być skonfigurowane w pliku wrangler.toml [1] i będą wdrażane jako zmienne środowiskowe Workers. Możesz również zarządzać zmiennymi środowiskowymi ręcznie na pulpicie Cloudflare.
Po wdrożeniu projektu Workers do Cloudflare, możemy przetestować, czy API zostało prawidłowo chronione.
Dzięki przewodnikowi krok po kroku w tym artykule, powinieneś być w stanie używać Logto do budowania ochrony dla swoich API Workers.
W tym artykule użyliśmy Wrangler CLI do lokalnego rozwoju i wdrażania projektów Workers. Cloudflare dodatkowo oferuje solidne i wszechstronne API Workers do ułatwienia wdrażania i zarządzania.
Przemyśl rozwijanie aplikacji SaaS. API Cloudflare umożliwia łatwe wdrażanie dedykowanych Workers dla każdego najemcy, podczas gdy Logto zapewnia, że tokeny dostępu pozostają wyłącznie dla odpowiednich najemców. Ta szczegółowa kontrola zapobiega nieautoryzowanemu dostępowi między najemcami, zwiększając bezpieczeństwo i ochronę danych użytkowników Twojej aplikacji SaaS.
Elastyczna i solidna architektura Logto zaspokaja różnorodne potrzeby związane z uwierzytelnianiem i autoryzacją w różnych aplikacjach. Niezależnie od tego, czy budujesz skomplikowaną platformę SaaS, czy prostą aplikację webową, Logto zapewnia elastyczność i skalowalność, aby spełnić Twoje specyficzne wymagania.