JSON Web Tokens (JWT)
Mohammad Iqbal
November 17, 2025
12 min read

JSON Web Tokens (JWT)

The Rise of Stateless AuthenticationIn the world of modern web and API development, traditional session-based authentication struggles with the complexity of microservices and mobile apps. JSON Web Tokens (JWT, pronounced "jot") have emerged as the standard solution for secure, stateless authentication and authorization.

A JWT is a compact, URL-safe string that securely transmits information between two parties. It is self-contained, meaning the recipient can verify the token's authenticity without needing to query a database every time.The Three Parts of a JWTA JWT is composed of three parts, separated by dots (.): Header, Payload, and Signature.$$\text{Token} = \text{Header} . \text{Payload} . \text{Signature}$$1.

The HeaderThe Header identifies the type of token (which is generally "JWT") and the hashing algorithm used for the signature, such as HMAC SHA256 or RSA.Example (Base64Url Encoded):JSON{ "alg": "HS256", "typ": "JWT" } 2. The Payload (Claims)The Payload contains the claims, which are statements about the entity (typically the user) and additional metadata. Claims are divided into three types:Registered Claims: Pre-defined claims that are not mandatory but recommended (e.g., iss for issuer, exp for expiration time, sub for subject). Public Claims: Claims defined by users that are intended for interoperability (often defined in an IANA registry).Private Claims: Custom claims created to share information between parties (e.g., user_role or company_id).

  1. The SignatureThis is the critical security component. The Signature is created by taking the Base64Url-encoded Header, the Base64Url-encoded Payload, and hashing them together using the secret key known only to the server.$$\text{Signature} = \text{HMACSHA256}(\text{base64UrlEncode}(\text{Header}) + \text{base64UrlEncode}(\text{Payload}), \text{secret})$$The signature ensures two things:Integrity: It confirms that the token's content has not been tampered with in transit.Authenticity: It verifies that the token was genuinely issued by the server that holds the secret key.

Why JWT is Ideal for APIs and MicroservicesThe primary advantage of JWT is statelessness:Scalability: With JWT, the server doesn't have to store session information in memory or a database. Every incoming request includes the token, and the server validates the signature independently. This makes scaling microservices easy, as any server can process any request.Cross-Domain Communication: A JWT issued by one component (e.g., an authentication service) can be validated and trusted by other components (e.g., a payment service) across different domains, provided they share the public key or the secret key.JWT is a powerful standard, but developers must ensure the secret key is kept highly secure and always use HTTPS to protect the token during transmission.

JSON Web TokenJWT AuthenticationStateless APIToken SecurityMicroservices