Customized JWT

A customized, secure JWT token-handling strategy for RESTful APIs built with Django REST Framework, balancing access/refresh token storage between memory and localStorage.

  • Django REST Framework
  • JWT
  • Python
  • Authentication
Customized JWT preview
  • Django REST Framework
  • SimpleJWT
  • Python

A custom JSON Web Token (JWT) authentication scheme for Django REST Framework APIs, designed around a Single Page Application’s token lifecycle — from registration and login through refresh and revocation.

🧩 Implements a secure token handling strategy for modern SPAs:

  • Access Token: Held in memory or SPA app state to minimize exposure.
  • Refresh Token: Safely stored in localStorage to maintain long-term sessions.

✅ Pros of this Approach:

Not persistent → gets wiped when the page reloads. Not accessible to scripts after reload, minimizing exposure if XSS occurs. Cannot be stolen via XSS unless an attacker already controls JS runtime memory (rare). Every time a token is refresh → issues both new access & refresh tokens, invalidate the old ones(both acess and refresh token).

⚠️ Cons of this Approach:

Loses token on refresh → user needs silent refresh logic (with refresh token). LocalStorage is accessible via JavaScript, so if an attacker injects malicious JS (XSS attack), they can steal your refresh token.

Gallery

Customized JWT - Register Response
Customized JWT - Login Request
Customized JWT - Login Response
Customized JWT - Authorization 1
Customized JWT - Authorization 2
Customized JWT - Token Refresh Request
Customized JWT - Token Refresh Response
Customized JWT - Access Token Verify Request
Customized JWT - Access Token Verify Response
Customized JWT - Refresh Token Verify Request
Customized JWT - Refresh Token Verify Response
Customized JWT - Todo Creation Request
Customized JWT - Todo Creation Response
Customized JWT - Todos Response
Customized JWT - Todo Specific Response
Customized JWT - Todo Update Request
Customized JWT - Todo Update Response
Customized JWT - Todo Delete Response