Token Yönetim Ayarları
Yönetim → Sistem Ayarları → Token Yönetim Ayarları yolunu izleyerek bu ekrana erişebilirsiniz. Buradaki ayarlar yalnızca token uç noktasının ürettiği yanıt gövdesini etkiler; varsayılan değerler mevcut çalışma şeklini bozmaz.
Token Yanıt Alan İsimleri
Token uç noktasının döndürdüğü JSON yanıt gövdesindeki standart alan isimlerini değiştirebilir veya bir alanı tamamen yanıttan çıkarabilirsiniz. Varsayılan isimler OAuth2 RFC 6749 standardındadır.
| Alan | Açıklama |
|---|---|
| access_token alan adı | Erişim token'ının döndüğü alanın adıdır. Bu alan RFC 6749 §5.1 gereği zorunludur; yeniden adlandırılabilir ancak yanıttan çıkarılamaz. |
| token_type alan adı | Token türünün döndüğü alanın adıdır. "Response'a dahil et" kapatılırsa yanıtta yer almaz. |
| expires_in alan adı | Token geçerlilik süresinin döndüğü alanın adıdır. "Response'a dahil et" kapatılırsa yanıtta yer almaz. |
| refresh_token alan adı | Yenileme token'ının döndüğü alanın adıdır. "Response'a dahil et" kapatılırsa yanıtta yer almaz. |
| scope alan adı | Token ile birlikte dönen scope (kapsam) alanının adıdır. "Scope alanını response'a dahil et" kapatılırsa scope yanıta hiç eklenmez. |
Bu ayarlar yalnızca token yanıt gövdesini etkiler. JWT token'ın içine gömülen scope bilgisinin adı değiştirilmez; bu sayede token'ı doğrulayan alıcı sistemler etkilenmez.
expires_in Değer Birimi
Token uç noktası varsayılan olarak expires_in alanını milisaniye cinsinden döner (eski Apinizer davranışı). RFC 6749 §5.1, expires_in değerini token ömrü olarak saniye cinsinden tanımlar; bu nedenle katı (strict) bir OAuth2 istemcisi milisaniye değerini yanlış yorumlayabilir (örneğin 60000 değerini 60 saniye yerine ~16,6 saat sanıp) token'ı zamanında yenilemeyebilir.
| Seçenek | Davranış |
|---|---|
| expires_in Değerini Saniye Olarak Dön (Varsayılan olarak devre dışı) | Devre dışı bırakıldığında expires_in milisaniye cinsinden döner (geriye dönük uyumluluk için korunan eski davranış). Etkinleştirildiğinde RFC 6749 §5.1 gereği saniye cinsinden döner. |
Bu seçenek yalnızca yanıttaki expires_in alanını etkiler. JWT exp claim'i (mutlak zaman damgası) ile X-IssuedAt / X-ExpiresAt yanıt alanları etkilenmez.
Mevcut istemcileriniz halihazırda milisaniye değerine göre düzeltme yapıyorsa, bu seçeneği etkinleştirmek hesapladıkları ömrü yarıya indirir ve erken token yenilemelerine yol açabilir. Mevcut entegrasyonlar için devre dışı bırakın; RFC uyumlu saniye bekleyen yeni entegrasyonlar için etkinleştirin.
Scope Doğrulama Davranışı
Scope (kapsam), bir token isteğiyle hangi yetkilerin talep edildiğini belirten değerdir ve scope ile token alma akışında kullanılır. Çözümlenen scope, token ile birlikte yanıt gövdesinde geri döner. Bu davranış hem "Bu Poliçe'den Yönet" hem de "ACL'den Yönet" yönetim modunda aynı şekilde çalışır.
Yanıtta hangi scope'ların döneceği aşağıdaki iki ayara bağlıdır.
Scope Uyumsuzluğunda Davranış
İstemcinin talep ettiği scope'lardan bazıları, kullanıcı veya kimlik bilgisi üzerinde tanımlı değilse gateway'in nasıl davranacağını belirler.
| Seçenek | Davranış |
|---|---|
| Katı — Hata Dön (Varsayılan) | Talep edilen scope'lardan herhangi biri tanımlı değilse HTTP 400 invalid_scope hatası döner ve token verilmez. RFC 6749 §5.2 ile uyumludur. |
| Esnek — Ortak Scope ile Token Ver | Yalnızca tanımlı olan scope'larla token verilir; geçersiz scope'lar sessizce atılır. |
| İsteği Yoksay — Tüm Scope'lar | Talep edilen scope listesi yoksayılır; token, kullanıcı veya kimlik bilgisi üzerinde tanımlı tüm scope'larla verilir. |
İstekte Scope Yoksa Davranış
İstemci hiç scope talep etmediğinde token'ın scope alanının nasıl üretileceğini belirler.
| Seçenek | Davranış |
|---|---|
| Scope'suz Token (Varsayılan) | İstek scope içermiyorsa token scope'suz üretilir ve yanıta scope alanı eklenmez. |
| Tüm Scope'larla Doldur | İstek scope içermiyorsa tanımlı tüm scope'lar kullanılır ve yanıta eklenir. |
Principal'ın Rolü Yoksa Davranış
Varsayılan olarak, scope talep edildiğinde ancak kimliği doğrulanan kullanıcı veya kimlik bilgisinin hiç rolü yoksa, ağ geçidi açık başarısız davranır: boş scope'lu token çıkarır hata döndürmek yerine. Principal'ın Rolü Yoksa Reddet seçeneğini etkinleştirerek bu durumu, HTTP 400 invalid_scope hatası döndüren bir katı hataya dönüştürebilirsiniz; bu, daha sıkı tanılama için kullanışlıdır.
| Seçenek | Davranış |
|---|---|
| Principal'ın Rolü Yoksa Reddet (Varsayılan olarak devre dışı) | Etkinleştirildiğinde ve scope talep edilirken principal'ın rolü yoksa HTTP 400 invalid_scope hatası döndürülür. Devre dışı bırakıldığında boş scope'lu token çıkarılır (eski açık başarısız davranışı). |
Bu ayar İsteği Yoksay — Tüm Scope'lar uyumsuzluk modunda etkisiz olur, çünkü bu mod talep edilen scope'u tamamen yoksayar.
Scope'un dolu dönebilmesi için ilgili kullanıcıya veya kimlik bilgisine rol (scope) tanımlı olması gerekir. Rol tanımlama adımları için Scope ile Token Alma sayfasına bakabilirsiniz. Rol tanımlı değilse, Principal'ın Rolü Yoksa Reddet etkinleştirilmedikçe scope boş döner; etkinleştirildiğinde HTTP 400 invalid_scope hatası döndürülür.