JWT කියන්නේ පාර්ශ්වයන් දෙකක් අතර ආරක්ශිත ලෙස Information's හුවමාරු කරගන්න භාවිතා කරන Open Standard එකක්. මෙම JWT , Web Applications වල Authentications and Authorizations සඳහා බහුලව භාවිතා කරනවා.
Json Web Token එක කොටස් තුනකින් සමන්විත වෙනවා. එම කොටස් තුන තමයි,
Header
Payload
Signature
Header එක සමන්විත වන්නේ, token එක ගැන meta data වලින්. එහි token type එක සහ Signing Algorithm එක තිබෙනවා.
{
"alg": "HS256",
"typ": "JWT"
}
Payload එක තුල additional data statements සහ claims පිලිබඳව විස්තර පවතී. ඒ වගේම , payload එක තුල claims වර්ග තුනක් අන්තර්ගත වී තිබෙනවා.
{
"sub" : "12345",
"name" : "Kavindu",
"admin" : "true",
"iat" : 1520254,
}
Registered Claims : මෙහි Issuer, Expiration Time, Subject සහ Audience එක තිබෙනවා.
Public Claims : මෙය Custom Claim එක වේ. User ID එක Role එක වගේ දේවල් මෙහි තිබෙනවා.
Private Claims : Parties (පාර්ශ්වයන්) දෙකක් සමග Agree වෙලා Share වෙලා තිබෙන Claims මෙහි තිබෙනවා.
Signature එක මගින් token එකේ Integrity එක Ensure කරගන්න අතර senders ලගේ authenticity එක Verify කර ගනු ලබනවා.
HMACSHA256(
base64urlEncode(header + "."+ baseurlEncode(payload)),
secret
)