Logto x Cloudflare Workers: Çalışanlarınızı halka açık erişimden nasıl koruyabilirsiniz?
Bu makalede, Cloudflare Workers API'larınızı Logto ile nasıl güvence altına alacağınızı açıkladık. Geliştirme sürecini kolaylaştırmak için web uygulama çerçevesi olarak Hono'yu kullandık.
Cloudflare Workers (bundan sonra içerikte Workers olarak geçecektir), altyapıyı yapılandırmadan veya bakımını yapmadan yeni uygulamalar oluşturmanıza veya mevcut olanları geliştirmenize olanak tanıyan sunucusuz bir yürütme ortamı sağlar.
Workers ile sunucusuz uygulamalarınızı oluşturabilir ve anında küresel olarak dağıtarak olağanüstü performans, güvenilirlik ve ölçek elde edebilirsiniz. Workers, olağanüstü bir performans sunmasının yanı sıra, oldukça cömert bir ücretsiz plan ve uygun fiyatlı ücretli planlar da sağlar. İster bireysel bir geliştirici olun, ister büyük ölçekli bir ekip, Workers size operasyonel maliyetleri en aza indirirken hızla ürün geliştirip sunma gücü verir.
Workers varsayılan olarak halka açık erişime açıktır, bu da saldırıları ve kötüye kullanımı önlemek için koruma önlemlerini gerektirir. Logto, Workers ve diğer tüm web hizmetlerini koruyabilecek kapsamlı, kullanıcı dostu ve ölçeklenebilir bir kimlik hizmeti sunar.
Bu makale, Logto kullanarak Workers'ı nasıl güvence altına alacağınızı ayrıntılarıyla ele alır.
Bir Workers örneği oluşturun
Öncelikle Hono ile yerel makinede bir Workers örnek projesi oluşturalım.
Wrangler CLI'yi kullanarak örneği Cloudflare'a dağıtıyoruz, böylece bu yola erişebiliriz.
Workers API'larını Korumak
Halka açık erişilebilen bir API ile korunan bir API'yı karşılaştırmak için belirli yetki alanlarına erişim gerektiren bir GET /auth/greet
API ekliyoruz.
Uygun izin olmadan ilgili API'ya erişemeyiz.
Workers API'lerine erişimi uygun şekilde yönetmek için Logto'yu tanıtıyoruz.
Logto'yu Kurun
Bir hesabınız yoksa kaydolun.
Korunan Workers API'larına erişim için, Machine-to-machine (M2M) yöntemi örnek olarak kullanıyoruz çünkü bu yöntem oldukça basittir. Web uygulamanızın kullanıcılarına erişim izni vermek isterseniz, kurulum oldukça benzer olacak, ancak bu durumda “Machine-to-machine” rolü yerine “User” rolü kullanmalısınız.
- Logto Yönetim Konsolu 'na girin ve “API Kaynağı” sekmesine gidip
https://sample.workers.dev/
kaynak göstergesine sahip “Workers Örnek API” adında bir API kaynağı oluşturun. Ayrıca bu API kaynağı içingreet:visitor
izni oluşturun.
- “Workers yöneticisi rolü” adlı bir “Machine-to-machine” rolü oluşturun ve bu role
greet:visitor
alanını atayın.
- Bir M2M uygulaması oluşturun ve bu uygulamaya “Workers yöneticisi rolü” atayın.
Workers doğrulama doğrulayıcısını güncelleyin
Logto kaputun altında JWT erişim belirteci kullandığı için, Workers'ta JWT doğrulama mantığını uygulamamız gerekiyor.
JWT erişim belirteci Logto tarafından verildiğinden:
- İmzanın doğrulanması için ilgili genel anahtarı almalıyız.
- JWT erişim belirtecini Workers API'larının tüketicisi olarak doğrulamalıyız.
Bu sabitler wrangler.toml
dosyasında yapılandırılabilir [1] ve Workers'ın ortam değişkenleri olarak dağıtılacaktır. Ortam değişkenlerini ayrıca Cloudflare Panosu'nda manuel olarak da yönetebilirsiniz.
Workers projesini Cloudflare'a dağıttıktan sonra, API'ların başarıyla korunduğunu test edebiliriz.
- Erişim belirteci alın
- Workers
GET /auth/greet
API'sini isteyin
Sonuç
Bu makaledeki adım adım kılavuz ile, Workers API'larınızı korumak için Logto'yu nasıl kullanacağınızı öğrenmiş olmalısınız.
Bu makalede, Workers projelerinin yerel olarak geliştirilmesi ve dağıtılması için Wrangler CLI'yi kullandık. Cloudflare ayrıca dağıtım ve yönetimi kolaylaştırmak için güçlü ve esnek Workers API'ları sunar.
Bir SaaS uygulaması geliştirmeyi düşünün. Cloudflare API'si, her bir kiracı için kolayca özel Workers'ı dağıtmanıza olanak tanırken, Logto erişim belirteçlerinin kendi kiracılarına özel kalmasını sağlar. Bu ayrıntılı kontrol, kiracılar arasında yetkisiz erişimi önleyerek SaaS uygulamanızı kullananlar için güvenlik ve veri gizliliğini artırır.
Logto'nun esnek ve güçlü mimarisi, çeşitli uygulamaların kimlik doğrulama ve yetkilendirme ihtiyaçlarını karşılamak için uyumludur. İster karmaşık bir SaaS platformu, ister basit bir web uygulaması inşa edin, Logto, özel gereksinimlerinizi karşılamak için esneklik ve ölçeklenebilirlik sağlar.