JWT Kimlik Doğrulama politikası, Apinizer Token Servisi (Token Service) tarafından üretilen JWT Token ile gönderilen mesajların konfigürasyonu ve doğrulaması için kullanılır.

Bu ekrandan yapılan ayarlar ile Apinizer'ın bu politikanın eklendiği API Proxy için nasıl token üreteceğinin detayları verilmiş olur. 

Bu ekranda yapılan konfigürasyonların çoğu JWT token'ın nasıl üretileceği ile ilgilidir. Token üretimi hakkında daha fazla bilgi almak için Token Servisi sayfasını ziyaret edebilirsiniz.

JWT Kimlik Doğrulama politika ayarlarını içeren görsele aşağıda yer verilmiştir:

JWT Kimlik Doğrulama politika konfigürasyonu için kullanılan alanlar aşağıdaki tabloda görülmektedir.

Alan

Açıklama

İsim (Name)

Politikanın kullanımını ve yönetimini kolaylaştırmak için isim yazılabilir. Politikaların yönetimi ve seçimi sırasında bu isme ihtiyacınız olacaktır.

Açıklama

(Description)

Politikanın kullanımını ve yönetimini kolaylaştırmak için açıklama yazılabilir.

ACL'den Yönet/Bu Poliçe'den Yönet

(Manage From ACL/Manage From This Policy)

Konfigürasyon ayarlarının politika üzerinden veya ACL üzerinden olmak üzere nereden yönetileceği seçilir.

"Bu Poliçe'den Yönet" seçeneği aktif edildiğinde aşağıdaki alanlar görünür.

"ACL'den Yönet" seçeneği seçilirse ayarlar Kimlik Bilgileri sayfasındaki ACL paneli üzerinden yapılır. Detaylı bilgi için Kimlik Bilgileri sayfasına bakınız.

Onay Türü

(Grant Type)

Token Servisinin kullanıcı bilgilerini nasıl doğrulaması gerektiğini belirtir. Değer olarak "İstemci Kimlik Bilgileri" seçilmişse Kimlik/Yetki Doğrulama Servisi kullanılamaz.

API Anahtarını Göster

(Show API Key)

API Proxy ya da API Proxy Grubu için yerel politika tanımlanırken ya da bunlara bir global politika uygulanırken görünür. Global politika tanımlama ekranında bulunmaz. 

İstemcinin token'i hangi API Proxy ya da API Proxy Grubu için alacağını belirtir. Token Servisi (Token Service) için önemli bir veridir. İstenirse  bu bağlantıya tıklanarak görüntülenebilir/değiştirilebilir.

Kimlik/Yetki Doğrulama Servisi

(Identity/Role/Group Service)

Token Servisinin kullanıcı bilgilerini doğrulamak için kullanacağı Kimlik Sağlayıcı Servisidir. (Kimlik sağlayıcı servislerin detayına bakmak için Kimlik Sağlayıcı Servisi Tanımlama sayfasını ziyaret edebilirsiniz).

İstemci Adresini Kontrol Et

(Check Client Address)

Kimlik sağlayıcı servis olarak "Security Manager" seçilirse görünür. Bu seçenek aktif hale getirilmişse ve kullanıcı tanımlanırken IP bilgisi de verilmişse, isteğin bu kullanıcı için tanımlanmış olan IP(ler)'den gelip gelmediği de kontrol edilir.

Token Ölümsüz Olsun

(Token Never Expires)

İşaretlenirse token zamana bağlı olarak geçersiz hale gelmez, istenildiği kadar kullanılabilir.

Token Geçerlilik Süresi

(Token Expires In)

Token'ın kullanılabilir olacağı yaşam süresini belirtir.

Token Yenileme Olsun

(Refresh Token Allowed)

Token'ın yenilenme özelliğini etkinleştirir.

Token Yenileme Sayısı

(Refresh Token Count)

Token'ın kaç kez yenilenebilir olacağını belirtir.

Yenilenmiş Token Geçerlilik Süresi

(Refresh Token Expires In)

Herbir yenilemede, token'ın ne kadarlık yaşam süresine sahip olacağını belirtir.

JWT İmzalama Algoritması

(JWT Signature Algorithm)

Token üretilirken kullanılacak olan imza algoritmasını seçmek için kullanılır.

URL Parametrelerine İzin Ver

(Allow URL Parameters)

Token Servisine token üretimi için istek gönderilirken bilgilerin ön tanımlı olarak sadece mesaj gövdesinde gönderilmesine izin verilir. Eğer bu bilgilerin URL parametresi halinde de gönderilmesine izin verilmek isteniyorsa bu seçenek ile bu özellik aktifleştirilebilir. Güvenlik açısından risk oluşturacağından kullanılmaması tavsiye edilir. 

Yetkilendirme Bilgisini Temizle

(Clear Authentication Information)

Mesaj içeriğindeki mevcut tüm kimlik doğrulama bilgilerinin silinmesini sağlar. Bu durumda istemciden gelen istekte bir Yetkilendirme Bilgisi varsa bu bilgiler silinir ve Backend API'ye gönderilmez.

(Add Client Info to Header)

Bu seçenek işaretlenirse, kimlik doğrulama başarıyla gerçekleştiğinde, yetkilendirilmiş kullanıcı adını başlığa koyarak Backend API'ye gönderir. Başlığın varsayılan adı X-Authenticated-UserId olup, istenirse değiştirilebilir.

Kimliğin Ekleneceği Başlık

(Authenticated User Header Name)

"Kimliği Başlığa Ekle" seçeneği işaretlenirse, kullanıcı adı ya da anahtarının ekleneceği başlığın adıdır.

Yetki Konfigürasyonu

(Authorization Configuration)

Erişimi kullanıcıların rollerine göre detaylandırmak için bu seçenek aktif hale getirilir. Rol veya "scope" bilgisi JWT token değerinin içindeki "scope" alanından alınarak yetkilendirmeye gönderilir. Daha detaylı bilgi için Yetkilendirme sayfasını ziyaret edebilirsiniz. 

"Scope" değerleri case sensitive olduğuna dikkat edilmelidir. 

  • JWT Kimlik Doğrulama politikası, sadece API Proxy veya API Proxy Grubu seviyesinde eklenebilir. Metod veya endpoint bazlı ekleme yapılamaz.
  • Bir API Proxy veya API Proxy Grubu'na birden fazla JWT Kimlik Doğrulama politikası eklenemez. Birden fazla eklendiği durumda yalnızca ilk eklenen politika için token üretilecektir. Bu nedenle tek bir politika tanımlanmalıdır.

Token Alma 

Token alma yöntemleri ve örnekleri için Token Servisi sayfasını ziyaret ediniz.

Koşullar (Conditions) ve Hata Mesajı Özelleştirme (Error Message Customization) panellerinin detayı için Politikalar (Policies) sayfasını ziyaret edebilirsiniz.