JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. This information can be verified and trusted because it is digitally signed. JWTs can be signed using a secret (with the HMAC algorithm) or a public/private key pair using RSA or ECDSA.
You can decode JWT (JSON Web Token) by using following code.
function parseJwt(token) {
try {
return JSON.parse(atob(token.split('.')[1]));
} catch (err) {
console.error('Error in parse JWT ', err)
return null;
}
};
For example, you have a JWT like this
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImp0aSI6ImNmNTMxNjgxLWZkZWQtNDQ0My1hNjQ1LTQ4NThhNDQ1YzU1ZSIsImlhdCI6MTU5MDA1NTQ3NSwiZXhwIjoxNTkwMDU5MDc1fQ.H1QW0pQVfdW3nbwA-GfHGKPcu1-qyuh99UlXIEPBQJ8
Which contains this information
{
"sub": "1234567890",
"name": "John Doe",
"admin": true,
"jti": "cf531681-fded-4443-a645-4858a445c55e",
"iat": 1590055475,
"exp": 1590059075
}
So call this function like this.
const jwtToken = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImp0aSI6ImNmNTMxNjgxLWZkZWQtNDQ0My1hNjQ1LTQ4NThhNDQ1YzU1ZSIsImlhdCI6MTU5MDA1NTQ3NSwiZXhwIjoxNTkwMDU5MDc1fQ.H1QW0pQVfdW3nbwA-GfHGKPcu1-qyuh99UlXIEPBQJ8';
const jwtTokenDetails = parseJwt(jwtToken);
console.log('JWT Token Details: ', jwtTokenDetails);