@mahdi.golzar/jwtauthenticator
v1.0.0
Published
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.
Downloads
3
Readme
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.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.