@yash112/jwt-library
TypeScript icon, indicating that this package has built-in type declarations

1.0.7 • Public • Published

@tanu-chahal/jwt-library

Encode, decode, and validate JSON Web Tokens (JWTs) with ease.

This library provides simple and efficient methods for working with JWTs in both JavaScript and TypeScript projects.

Features

  • Encode (create) JWT tokens
  • Decode JWT tokens
  • Validate JWT tokens

Library Demo

Check out the library's demo application or https://jwt-library.vercel.app/.

Installation

You can install the package via npm:

npm install @tanu-chahal/jwt-library

Or with yarn:

yarn add @tanu-chahal/jwt-library

Usage

First, import the methods you need:

import { encode_jwt, decode_jwt, validate_jwt } from '@tanu-chahal/jwt-library';

Methods

1. encode_jwt

Creates a JWT token.

Arguments:

  • secret (string, required): The secret key used to sign/encode the JWT.
  • id (string | number, required): An identifier (user ID, etc.) to include in the payload.
  • payload (object, required): The payload data you want to encode.
  • ttl (number, optional): Time to live in seconds. If provided, the token will have an expiration time.

Returns: A signed JWT token as a string.

Example:

const secret = 'your-secret-key';
const id = 'user123';
const payload = { role: 'admin', name: 'John Doe' };
const token = encode_jwt(secret, id, payload, 3600);
console.log(token);

2. decode_jwt

Decodes a JWT token, verifies its signature & returns the encoded data and expiration date (if ttl was passed while encoding).

Arguments:

  • secret (string, required): The same secret key used to encode the JWT signature.
  • jwt (string, required): The JWT token to decode.

Returns: An object containing the id, payload, and expires_at (as a Date or null).

Example:

const secret = 'your-secret-key';
const token = 'your-jwt-token';
try {
  const decoded = decode_jwt(secret, token);
  console.log(decoded);
} catch (error) {
  console.error(error.message);
}

3. validate_jwt

Validates a JWT token by decoding it and checking the signature.

Arguments:

  • secret (string, required): The same secret key used to encode the JWT signature.
  • jwt (string, required): The JWT token to validate.

Returns: A boolean indicating whether the JWT is valid.

Example:

const secret = 'your-secret-key';
const token = 'your-jwt-token';
const isValid = validate_jwt(secret, token);
console.log(isValid); // true or false

GitHub

Repository Link

Author - Tanu Chahal

GitHub

LinkedIn

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
1.0.70latest

Version History

VersionDownloads (Last 7 Days)Published
1.0.70
1.0.60
1.0.50
1.0.40
1.0.30
1.0.20

Package Sidebar

Install

npm i @yash112/jwt-library

Weekly Downloads

0

Version

1.0.7

License

ISC

Unpacked Size

8.1 kB

Total Files

6

Last publish

Collaborators

  • yash112