JOSE Framework, dijital içeriği JSON veri yapıları kullanarak güvenli hale getirmek için bir dizi spesifikasyondur.

JOSE Framework kapsamında JWS, JWE, JWT, JWK ve JWA gibi özellikler bulunur.

Apinizer JOSE Framework spesifikasyonları destekler ve kullanımını kolay hale getirir.

JOSE Gerçekleştirim politikası Backend API'den istemciye dönen JSON verilerini imzalamak ve/veya şifrelemek için kullanılır.

JOSE Gerçekleştirim ekranını içeren görsele aşağıda yer verilmiştir:

JOSE Gerçekleştirim 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.

İmzalanacak/Şifrelenecek Hedef

(Target to be Signed/Encrypted)

Tüm mesaj gövdesi, ya da mesajın başlık ya da gövdesinin bir kısmına imzalama/şifreleme uygulanmak istenebilir.

Bu alan, mesajın neresindeki verinin imzalama veya şifreleme için kullanılacağını belirtmek için kullanılır. 

Hedef Değişken

(Target Variable)

Hedefin mesajın belirli bir kısmı olması durumunda neresi olduğunu belirtmek için kullanılan değişkendir.

Raw Data için Claim Adı

(Claim Name for Raw Data)

İmzalanacak veya şifrelenecek olan hedef verinin hangi Claim ismi ile JWT veya JWE verisinin içerisinde yer alacağını ifade eder.

JSON String'i, String Olarak Kullan

(Escape JSON String)

"JSON String'i, String Olarak Kullan" alanın aktif olması halinde, Claim Adı içerisine yerleştirilecek olan verideki Json karakterler escape edilerek yerleştirilir, aksi seçili olduğu durumda yerleştirilecek olan veri JSON elementi olarak eklenir.

Issue Time Ekle

(Add Issue Time)

JWT veya JWE verisinin içerisine oluşturma tarihi eklenmek istenirse bu alan aktif hale getirilir. Bu alanın aktif olması halinde oluşma zamanı "iat" claim'i olarak JWT veya JWE'ye eklenir.

Üretilmiş ID Ekle

(Add Generated ID)

JWT içerisinde "jti" alanına random üretilmiş bir değer ekler.

Issuer Ekle

(Add Issuer)

JWT veya JWE verisinin içerisine verinin kimin tarafından oluşturulduğunu eklenmek istenirse bu alan aktif hale getirilir. 

Issuer

(Issuer)

"Add Issuer" alanın aktif olması halinde, "Issuer" alanına girilen değer "iss" claim'i olarak JWT veya JWE'ye eklenir.

Audience Ekle

(Add Audience)

JWS, JWT veya JWE verisinin içerisine verinin kime hitaben oluşturulduğunu eklenmek istenirse bu alan aktif hale getirilir. 

Audience Listesi

(Audience List)

"Add Audience" alanın aktif olması halinde, "Audience Listesi" alanına girilen değerler "aud" claim'i olarak JWT veya JWE'ye eklenir.

(Add Subject)

JWS, JWT veya JWE verisinin içerisine verinin konusu eklenmek istenirse bu alan aktif hale getirilir. 

Subject

(Subject)

"Add Subject" alanın aktif olması halinde, "Subject" alanına girilen değer "sub" claim'i olarak JWT veya JWE'ye eklenir.

Expiration Time Ekle

(Add Expiration Time)

JWS, JWT veya JWE verisinin içerisine verinin son kullanma tarihi eklenmek istenirse bu alan aktif hale getirilir. 

Expiration Time Value

(Expiration Time Value)

"Add Expiration Time" alanın aktif olması halinde, "Expiration Time Value" alanına girilen değer "exp" claim'i olarak JWT veya JWE'ye eklenir.

Expiration Time Unit

(Expiration Time Unit)

"Add Expiration Time" alanın aktif olması halinde, "Expiration Time Value" alanına girilen değerin birimini belirtir.

Additional Claim Listesi

(Additional Claim List)

Dönen JWT veya JWE verisi içerisinde yer alması istenen Claim'lerin değerleri ile birlikte listesidir.

İmzala

(Sign)

Dönen verinin hedef kısmının imzalanmasını için işaretlenir.

İstemci JWK'sı ile İmzala

(Sign by Client's JWK)

Dönen verinin imzalanması için kullanıcı kimliğine bağlı olarak işlem yapılmak istenirse bu seçenek seçilir. Yetkilendirilmiş kullanıcının sahip olduğu İmza JWK ile imzalama yapılır.

Bu seçeneğin seçili olması durumunda istemci bilgisine erişim gerektiğinden İstek Hattında Apinizer Kimlik Havuzu ile doğrulama yapan bir politika olması gereklidir.

Dijital İmzalama için JWK

(JWK for Signature)

Dönen verinin kullanıcı kimliğine göre değil fakat sabit bir JWK ile imzalama yapılmak istenirse bu seçenek seçilir ve imzalama burada seçilen JWK ile yapılır.

Şifrele

(Encrypt)

Dönen verinin şifreli olması isteniyorsa bu seçenek işaretlenir. Bu seçeneğin düzgün çalışması  için "İmzala" seçeneğinin mutlaka seçilmiş olması gereklidir.

Şifreleme Metodu

(Encryption Method)

Şifreleme algoritması seçilir. 

İstemci JWK'sı ile Şifrele

(Encrypt by Client's JWK)

Dönen verinin şifrelenmesi için kullanıcı kimliğine bağlı olarak işlem yapılmak istenirse bu seçenek seçilir. Yetkilendirilmiş kullanıcının sahip olduğu Şifreleme JWK'sı ile imzalama yapılır. 

Bu seçeneğin seçili olması durumunda istemci bilgisine erişim gerektiğinden İstek Hattında Apinizer Kimlik Havuzu ile doğrulama yapan bir politika olması gereklidir.

Şifreleme için JWK

(JWK for Encryption)

Dönen verinin kullanıcı kimliğine göre değil fakat sabit bir JWK ile şifreleme yapılmak istenirse bu seçenek seçilir ve şifreleme burada seçilen JWK ile yapılır.

Oluşturulan JWT/JWE için Injection Target

(Injection Target for Generated JWT/JWE)

Başarılı imzalama/şifreleme işlemi sonrasında imzalı ve/veya şifreli değerin mesajın neresine konulacağını belirtir.

Target for Decoded Claims için Hedef Değişken

(Target Variable for Decoded Claims)

Başarılı imzalama/şifreleme işlemi sonrasında imzalı ve/veya şifreli değerin mesajın belirli bir kısmına konulmak istenmesi durumunda mesajın neresi olduğunu belirtmek için kullanılan değişkendir.

Koşullar ve Hata Mesajı Özelleştirme panellerinin açıklamasını görüntülemek için Politikalar (Policies) sayfasını ziyaret edebilirsiniz.