JWT Kimlik Doğrulama (JWT Authentication)
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 |
---|---|
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. |
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.