1.0.0 • Published 1 year ago
@mahdi.golzar/jwtauthenticator v1.0.0
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
- 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);- 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.jsYou 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