Enhanced JWT Authenticator
npm install enhanced-jwt-authenticatorA simple wrapper for Node.js JWT handling, providing specific methods for token generation, verification, and role-based access control.
``bash`
npm install enhanced-jwt-authenticator
- Token Generation: Easy method to sign tokens.
- Token Verification: Verify signatures and get payload.
- Role Verification: Built-in logic to check roles.
`javascript
const { EnhancedJWT } = require('enhanced-jwt-authenticator');
const auth = new EnhancedJWT({
secret: 'your-super-secret-key',
roleKey: 'role' // optional, defaults to 'role'
});
`
`javascript`
const user = { id: 1, role: 'admin' };
// Generate a token valid for 1 hour
const token = auth.generateToken(user, '1h');
`javascript`
try {
const payload = auth.verifyToken(token);
console.log('Valid token payload:', payload);
} catch (error) {
console.error('Invalid token');
}
`javascript`
try {
const payload = auth.verifyToken(token); // Get payload first
// Check if user has 'admin' role
auth.verifyRole(payload, 'admin');
console.log('Role valid');
} catch (error) {
console.error('Role mismatch:', error.message);
}
: Defaults to '1h'.$3
- Verifies the token signature and returns the decoded payload.$3
- Checks if the user object has the required role(s).
- Returns true` on success, throws Error on failure.