Skip to content

Commit

Permalink
parse JWT expiry time
Browse files Browse the repository at this point in the history
  • Loading branch information
pilinux committed Sep 1, 2023
1 parent c4a4926 commit fe0192e
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions app/jwt.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// Get the expiration timestamp of a token in unix epoch milliseconds
export function jwtExpiry(token) {
try {
const tokenPayloadBase64 = token.split(".")[1]; // JWT payload is the second part
const tokenPayload = JSON.parse(
Buffer.from(tokenPayloadBase64, "base64").toString()
);

if (tokenPayload.exp) {
const expTimestamp = tokenPayload.exp;
const expTimestampMillisecond = expTimestamp * 1000;
return expTimestampMillisecond;
}

// token does not have an expiration claim, expire immediately
return -1;
} catch (e) {
// token parsing failed, expire immediately
return -1;
}
}

0 comments on commit fe0192e

Please sign in to comment.