Skip to main content

Command Palette

Search for a command to run...

Web Tokens Demystified

Published
โ€ข2 min read
Web Tokens Demystified
S

Hi! I'm Subham Mani currently pursuing my CS degree at HITK, Kolkata and I build stuff that makes this world a little better place to live. I love participating in hackathons and so far in my journey I have won two of them. I also hold a position as the Web Lead at GDG On Campus HITK where I mentor fellow students on topics related to Web Development.

In the dynamic realm of web authentication, understanding the mechanisms behind access tokens and refresh tokens can unlock a world of secure, seamless user experiences.

Okay so what are they? ๐Ÿค”

๐Ÿ”‘ Access Tokens: Think of them as a VIP pass for an exclusive club granting you special access to view content or perform certain actions. Access tokens are digital keys that authenticate your identity and allow you to interact with various parts of a website or app. They're essential for tasks like posting comments, accessing profiles, or making purchases online.

โณ Expiration Time: Access tokens are short lived i.e they come with a short expiration time. This security feature minimizes the risk of misuse if someone gets hold of your token. Once it expires, users need to re-authenticate to obtain a fresh access token, ensuring ongoing protection for their accounts.

Okay so if they are short lived does that mean the user has to login frequently?

No! This is where Refresh tokens come into play!

๐Ÿ”„ Refresh Tokens: Enter the hero of seamless authentication! Refresh tokens act as backup keys, enabling users to obtain new access tokens without the hassle of logging in again. They have longer expiration times compared to access tokens and facilitate continuous access to web resources, mitigating the inconvenience of frequent logins.

The Tokens are generally sent to the user's browser via cookies and unlike Access Tokens, Refresh tokens are saved in the database to allow for verification while generating a new Access Token. A very popular choice is JWT (JSON Web Token). It is widely used in API authentication and authorization workflows, as well as for data transfer between clients and servers.

There is more to web tokens that you can learn but I've tried my best to keep this article super simple. Thank you for taking the time to read this out, very much appreciated! And also thanks to Hitesh Choudhary for explaining the concepts so well, go ahead and check out this man's content, it's gold.