Cloudflare, üçüncü taraf OAuth uygulamalarının sahiplerinin zorunlu ve isteğe bağlı izinleri belirlemesine olanak tanıyan OAuth kapsamı özelleştirmesini duyurdu. Böylece kullanıcı, onay ekranında isteğe bağlı izinleri iptal ederek uygulamaya, tüm istenen izinleri kabul etmek veya isteği tamamen reddetmek arasında seçim yapmak yerine, daha dar bir erişim kapsamı verebiliyor.
Bu adım, geliştiricilerin haziran ayından bu yana Cloudflare üzerinde binlerce üçüncü taraf OAuth uygulaması oluşturmasının ve o tarihten beri bir milyondan fazla yetkilendirme işleminin kaydedilmesinin ardından geldi. Bu uygulamalar hizmet olarak yazılım entegrasyonlarında, dahili araçlarda, komut satırı arayüzlerinde ve yazılım aracıları için kullanılıyor.
Tam onaydan göreve bağlı izinlere
Cloudflare OAuth daha önce uygulamanın kendisi için yapılandırılmış kapsamların bir alt kümesini istemesine izin veriyordu; ancak kullanıcı bu kümeyi doğrudan onay ekranından daraltamıyordu. Uygulama, kullanıcının uygun gördüğünden daha fazla izin isterse kullanıcının önünde yalnızca isteği tamamen kabul etmek veya reddetmek seçenekleri bulunuyordu.
Cloudflare, MCP sunucularının bu soruna açık bir kullanım örneği oluşturduğunu belirtiyor. Bir MCP sunucusu, aracının teorik olarak tümüne ihtiyaç duyabileceği için geniş bir izin kümesi isteyebilir; ancak kullanıcı, araca mutlaka bu düzeyde erişim vermek istemeyebilir. Özellik kullanıma sunulmadan önce geliştiricinin, kullanıcıyı Cloudflare onay akışına yönlendirmeden önce kapsamları seçmek için özel bir ekran oluşturması gerekiyordu.
İsteğe bağlı kapsamlar nasıl çalışıyor?
- Geliştirici, bir OAuth istemcisi yapılandırırken belirli kapsamları zorunlu veya isteğe bağlı olarak belirleyebilir.
- Kullanıcı, mevcut yetkilendirme işleminde istenen izin kümesi içindeki isteğe bağlı kapsamların seçimini kaldırabilir.
- İstemci isteğe bağlı kapsamları etkinleştirmezse varsayılan deneyim aynı kalır. Ayrıca isteğe bağlı hiçbir kapsam kaldırılmadığında onay ekranı istenen kümenin tamamını sunar.
Önemli nokta, değerlendirmenin istemcide yapılandırılmış tüm kapsamlar üzerinden değil, belirli bir yetkilendirme akışında uygulamanın istediği kapsamlar üzerinden yapılmasıdır. İstemcide user-details.read, workers-scripts.write, workers-kv-storage.write ve zone.read kapsamlarının bulunduğunu ve son iki kapsamın isteğe bağlı olarak ayarlandığını varsayalım. Dört kapsamın istenmesi durumunda kullanıcı yalnızca son ikisini iptal etmekte özgür olur.
İstemci daha sonra yalnızca workers-scripts.write ve zone.read kapsamlarını isterse o işlemde yalnızca bu iki kapsam değerlendirilir. Diğer kapsamlar mevcut isteğin parçası olmadıkları için gösterilmez veya zorunlu tutulmaz. Bu, uygulamanın gelecekte isteyebileceği tüm yetenekleri göstermek yerine onay ekranının istenen göreve odaklanmasına yardımcı olur.
Geliştiriciler açısından pratikte ne değişiyor?
Kullanıcı bazı isteğe bağlı kapsamları iptal edip yetkilendirmeyi tamamladığında, oluşturulan erişim belirteci yalnızca kullanıcının onayladığı izinleri içerir. Bu nedenle geliştiricinin, uygulamanın istenen kümenin tamamını aldığı varsayımında bulunmak yerine, yetkilendirme kodunu değiştirdikten sonra verilen kapsam kümesini denetlemesi gerekir.
Bu, uygulamaların ve özellikle yazılım aracılarının izinlerin kısmen verilmesi durumunu sorunsuz biçimde ele alması gerektiği anlamına gelir. Gerekli asgari erişimin istenmesi ve ek izinlerin isteğe bağlı hale getirilmesi, kullanıcıya uygulamanın erişim sınırları konusundaki kararına saygı duyduğunu da gösterir.
Cloudflare ürünlerine genişleme
Cloudflare, sonraki haftalarda hesap ve bölge düzeyindeki rol kapsamlarını neredeyse tüm ürünlerini kapsayacak şekilde genişleteceğini belirtti. Buna daha fazla API belirteci rolü, hesap üyeliği seçeneği ve OAuth kapsamı da dahil olacak. Geliştiriciler Third Party OAuth belgeleri veya kontrol panelindeki OAuth uygulamaları sayfası üzerinden başlayabilir.
Şirket, özelliğin 1.111 stajyerin yardımıyla geliştirildiğini ve Miller Vargas ile José Enrique Rodriguez'in katkılarını takdir ettiğini belirtti. Habere göre Vargas, University of Texas - Austin'de bilgisayar bilimi ve matematik eğitimi alırken Rodriguez, Universidad Panamericana'da mühendislik, veri zekâsı ve siber güvenlik eğitimi alıyor.