Authorization · Yetkilendirme
Scopes, roles ve audience: üç farklı sınır
Doğru API’ye verilen token, doğru işlem yetkisini yine gerektirir.
Kavramı anlayalım
Audience token’ın hangi hedef için verildiğini, scope yetkilendirme akışında izin verilen erişim kapsamını, rol ise kullanıcı veya uygulama kategorisini ifade edebilir. Bu alanların isimleri ve biçimi sağlayıcıya göre değişebilir. orders.read scope’u ödeme iptali yetkisi değildir; Admin rolü de yanlış audience token’ını geçerli yapmaz.
Delegated token kullanıcı adına, application token ise uygulamanın kendi kimliğiyle çalışabilir. Client credentials akışında gerçek bir kullanıcının kimliği bulunduğunu varsayma. Aynı endpoint iki modeli kabul ediyorsa actor ve permission kurallarını açık tanımla. Kapsamın varlığını string contains ile aramak, orders.read-extra gibi değerleri yanlış kabul edebilir; sağlayıcının tanımladığı ayrıştırma ve claim mapping kullanılır.
Geniş scope istemek kullanıcı onayını ve riskini büyütür. Yetkinin gereken işlemle en düşük kapsamda eşleşmesini hedefle. Token’daki scope resource ownership’ini otomatik kaldırmaz. /orders/42 için hem API hedefi, hem operation, hem kaynağın kapsamı denetlenir. Bu farklı sınırları hata loglarında ayırmak teşhisi kolaylaştırır; dış yanıtta gereksiz iç ayrıntı verme.
Birden fazla API ve entegrasyon permission modelinde.
Audience, role ve scope değerlerini birbirinin yerine geçirmek.
Aynı konu. Üç farklı derinlik.
aud=orders-api; scope=orders.readHedef doğru olabilir; yazma yetkisi hâlâ yoktur.
Bu sayfa dış sunuculara istek göndermez. HTTP mesajları temsili, HTTP/1.1 biçiminde okunabilir gösterimlerdir; HTTP/2 ve HTTP/3 wire formatı değildir. example.test ayrılmış öğretim alan adıdır. Komut ve JavaScript örneklerini yalnız kendi test ortamında uygula; gerçek token veya cookie yayımlama.
Önce kendin dene.
orders.read ile DELETE /orders/42 çağrıldı. Kimlik doğrulaması başarılıysa izin verilir mi?
Çözümü ve açıklamasını göster
No: require the operation permission and resource policy.Hayır. Okuma kapsamı silme yetkisi vermez.