JWT(JSON Web Tokens) üç ana kısımdan oluşmaktadır:
- Header (Başlık) : Token tipi ve imza için kullanılacak algoritma bulunur
- Payload (Veri) : Verilerin claim'ler şeklinde tutulduğu ana içerik yeri
- Signature (İmza) : Header ve payload'ın birleştirilip bir key ile header'a verilen algoritmaya göre imzalanmış bölümü
Bu üç bölüm
header.payload.signature
yapısında birleştirilerek gönderilir.
Örneğin HMAC SHA256 algoritması kullanılmak istendiğinde imza bölümü şu şekilde oluşur:
HMACSHA256(
base64UrlEncode(header) + ,
"." +
base64UrlEncode(payload),
secret-key
)
Aşağıdaki gibi gözükebilir: