Foundationপ্রথম নীতি থেকে
LEVEL 10 · Computer Security

JWT

জেডাব্লিউটি

JSON Web Token — header.payload.signature গঠনের self-contained, signed token; server DB lookup ছাড়াই যাচাই করতে পারে।

also: json-web-token

token = base64url(header) . base64url(payload) . signature

header  = {"alg": "HS256", "typ": "JWT"}
payload = {"sub": "user123", "exp": 1735689600, ...}   claims
signature = HMAC-SHA256(header.payload, secret_key)
  • Stateless — server শুধু signature verify করে, session store-এ lookup লাগে না; scale-এ সুবিধা, কিন্তু expiry-র আগে revoke করার সহজ উপায় নেই
  • alg field-কে token নিজেই ঘোষণা করে বলে বিপজ্জনক — server hardcode করা algorithm ছাড়া কখনো token-এর নিজের alg বিশ্বাস করা যাবে না (alg:none / RS256→HS256 confusion আক্রমণ)
  • Short-lived access token + long-lived, server-tracked, revocable refresh token — statelessness আর revocability-র মধ্যে বাস্তব compromise