1.0.0 • Published 1 year ago

@mahdi.golzar/jwtauthenticator v1.0.0

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

JWTAuthenticator

JWTAuthenticator is a simple utility for managing authentication using JSON Web Tokens (JWT). It provides methods for generating, verifying, and decoding JWTs in a Node.js environment without relying on external libraries.

Features

  • Generate JWTs with custom payloads and expiration times
  • Verify JWTs to ensure they are valid and not expired
  • Decode JWTs to read their payload without verification
  • No external dependencies required

Installation

This project relies on Node.js's built-in crypto module and does not require any external dependencies.

Usage

  1. Copy the Code First, save the following code in a file named jwtAuthenticator.js:
// Example usage

const jwtAuthenticator = new JWTAuthenticator('your-secret-key');

// Generate a token
const token = jwtAuthenticator.generateToken({ userId: 123 }, 3600);
console.log("Generated Token:", token);

// Verify the token
const verifiedPayload = jwtAuthenticator.verifyToken(token);
console.log("Verified Payload:", verifiedPayload);

// Decode the token (without verification)
const decodedPayload = jwtAuthenticator.decodeToken(token);
console.log("Decoded Payload:", decodedPayload);
  1. Run the Script To run the script and see the JWT generation, verification, and decoding in action, execute the following command in your terminal:
node jwtAuthenticator.js

You should see the generated, verified, and decoded payloads in your console.

Method Descriptions

  • generateToken(payload, expiresInSeconds): Generates a JWT with the given payload and expiration time. The token includes a header, body, and signature.
  • verifyToken(token): Verifies the JWT by checking the signature and ensuring the token has not expired. Returns the payload if the token is valid, otherwise returns false.
  • decodeToken(token): Decodes the JWT payload without verifying the signature or expiration.
1.0.0

1 year ago