Genel Bakış
Amacı Nedir?
- Merkezi JWT üretimini standardize etmek: Farklı istemci tipleri için güvenilir JWT oluşturma akışını Apinizer üzerinde toplar.
- Kimlik doğrulama kaynaklarını yönetmek: Secret Manager, LDAP, Database veya API tabanlı kimlik doğrulama servislerini seçilebilir hale getirir.
- Yetkilendirme entegrasyonunu kolaylaştırmak: Rol ve yöntem bazlı yetkilendirmeyi JWT üretimi ile aynı politika üzerinde koordine eder.
- Operasyonel denetimi sağlamak: Token süreleri, yenileme hakları ve header aktarımlarını merkezi olarak kontrol ederek audit ve izlenebilirlik sunar.
Çalışma Prensibi
- İstek Gelişi: API Gateway’e gelen her HTTP/HTTPS isteği için, istemin kaynak IP adresi tespit edilir.
- Politika Kontrolü: JWT Kimlik Doğrulama politikası aktif ise, sistem aşağıdaki sırayla kontrol yapar:
- Condition (koşul) tanımlı mı? Varsa koşul sağlanıyor mu?
- Politika aktif mi (active=true)?
- Variable kullanılıyor mu yoksa Apinizer default mı?
- JWT Üretim ve Doğrulama Süreci: Seçilen grant type’a göre kimlik doğrulama kaynağı tetiklenir, imzalama algoritması uygulanır, token ömrü ve refresh hakları hesaplanır.
- Karar Verme:
- Eşleşme Var: Token oluşturulur veya doğrulanır, gerekirse kullanıcı/rol header’ları eklenerek hedef servise yönlendirilir.
- Eşleşme Yok: Varsayılan veya özelleştirilmiş hata mesajı ile istek reddedilir; yenileme tokenı üretimi/iptali yapılmaz.
- Hata İşleme: Politika kuralına uymayan istekler için özelleştirilebilir HTTP durum kodu ve hata mesajı döndürülür.
Özellikler ve Yetenekler
Temel Özellikler
- Grant Type Yönetimi: Client Credentials ve Password grant tipleri arasında hızlı geçiş, her tip için gerekli kimlik doğrulama bileşenlerinin otomatik denetlenmesi.
- Kimlik Kaynağı Seçimi: Secret Manager, LDAP, Database veya harici API kaynaklarını JWT üretim sürecine entegre eder.
- Token Yaşam Döngüsü Kontrolü: Token ömrü, yenileme hak sayısı ve süreleri için ayrıntılı yapılandırma ve varsayılan değer atamaları.
- Aktif/Pasif Durum Kontrolü: Politikanın aktif veya pasif durumunu kolayca değiştirme (active/passive toggle). Pasif durumda politika uygulanmaz ancak yapılandırması saklanır.
- Koşul Bazlı Uygulama: Query Builder ile karmaşık koşullar oluşturarak politikanın ne zaman uygulanacağını belirleme (örn: sadece belirli endpoint’lere veya header değerlerine göre).
İleri Düzey Özellikler
- JWT İmza Algoritmaları: RS256, RS384, RS512 seçenekleri ile hedef sistem gereksinimlerine uygun imzalama sağlar.
- Header Enjeksiyonu: Kullanıcı kimliği ve rol bilgilerini istenilen header isimleriyle hedefe taşır; role-based yetkilendirme ile entegre çalışır.
- Refresh Token Politikaları: Yenileme token’ı üretimi, kullanım limiti ve süreleri üzerinden güvenlik/konfor dengesi kurar.
- Export/Import Özelliği: Politika yapılandırmasını ZIP dosyası olarak export etme. Farklı ortamlara (Geliştirme, Test, Production) import etme. Versiyon kontrolü ve yedekleme imkanı.
- Policy Group ve Proxy Group Desteği: Birden fazla politikayı Policy Group içinde yönetme. Proxy Group’lara toplu politika atama. Merkezi güncelleme ve deploy işlemleri.
- Deploy ve Versiyonlama: Politika değişikliklerini canlı ortama deploy etme. Hangi API Proxy’lerde kullanıldığını görme (Policy Usage). Proxy Group ve Policy Group kullanım raporları.
Kullanım Senaryoları
Politika Parametrelerini Yapılandırma
Bu adımda, kullanıcı yeni bir politika oluşturabilir ya da mevcut politika parametrelerini yapılandırarak erişim kurallarını belirleyebilir. Tanımlanan parametreler, politikanın çalışma şeklini (örneğin hangi IP’lerin izinli olacağı, coğrafi kısıtlamalar, koşullu aktivasyonlar vb.) doğrudan etkiler. Bu sayede politika hem kuruma özel gereksinimlere göre özelleştirilebilir hem de merkezi olarak yönetilebilir.Yeni JWT Kimlik Doğrulama Politikası Oluşturma

Yapılandırma Adımları
Client Authentication — Authorization Basic Header Desteği (RFC 6749 §2.3.1)
Örnek:- Çift gönderim yasağı: Aynı istekte hem Authorization Basic header’ı hem body’de
client_id/client_secretparametreleri gönderirseniz, sunucu HTTP 400 (invalid_request) ile reddeder (RFC 6749 §2.3.1 “MUST NOT” kuralı). - Bozuk header işlemesi: Base64-decode edilemeyen veya eksik Basic header’lar HTTP 401 (
invalid_client) ile reddedilir. - Diğer Authorization scheme’leri: Basic dışındaki yetkilendirme türleri (örn.
Bearer,Digest) görmezden gelinir; bu durumda body parametreleri kullanılır. - Şifre ve kullanıcı adı: PASSWORD grant akışında
usernamevepasswordher zaman request body’de gönderilir; Authorization header sadececlient_id/client_secretiçin kullanılır.

