DEV Community

Discussion on: What really is the difference between session and token based authentication

Collapse
 
saidbakr profile image
Said Bakr

How to secure the JWT data? for example, in the session, user_id, shopping cart items, etc are stored on the server, while in JWT they are stored on the client, so the client may be able to change his user_id to 1 for example to gain super admin permissions later. This is a messy point to me!

Collapse
 
webdevopsfresher profile image
webdevops-fresher

Even if a user tampers a token stored on client side,the server will compare the token sent with each subsequent request with it's secret key.

Collapse
 
saidbakr profile image
Said Bakr

@goose97 @webdevopsfresher
_It is too late, but thank you for your reply. _
This may explain why such kinds of authentication need the HTTPS? I think, to add encryption as an additional security layer between the client and the server.

Collapse
 
goose97 profile image
Nguyễn Văn Đức

JWT implementation already deals with that. Simply put, anyone can read (decode) the token. (the encoding scheme is Base64). However, it's impossible to forge a new valid token like your situation without the authenticating server knowing about it. The fake token on subsequent requests will be rejected immediately.