npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

secure-jwt-auth

v1.0.3

Published

A simple and lightweight utility library for encoding, decoding, and validating JSON Web Tokens in TypeScript.

Downloads

37

Readme

secure-jwt-auth

secure-jwt-auth is a lightweight package for creating, decoding, and validating JSON Web Tokens (JWTs) with support for basic JWT features. It provides three core methods for JWT operations:

  • genToken
  • decodeToken
  • validateToken

Features

  • genToken(secret: string, id: string | number, payload: object, ttl?: number , aud?: string, iss?: string ): string

    Creates a JWT using the provided secret, id, payload, and optional time-to-live (TTL) value. The generated token includes the specified claims and is signed using the provided secret.

  • decodeToken(secret: string, jwt: string): { id: string | number, payload: object, expires_at: Date }

    Decodes a JWT back into its components, including the id and payload. Throws an error if the JWT cannot be decoded or if the signature is invalid.

  • validateToken(secret: string, jwt: string , aud?: string, iss?: string): boolean

    Validates a JWT by decoding it and checking its expiry and signature. Returns true if the token is valid and false otherwise.

Advanced Features

  • Support for Additional JWT Parameters

    The package also supports optional JWT parameters like aud (audience), iat (issued at), and iss (issuer). These parameters can be used to enhance token security and validation.

Installation

To install secure-jwt-auth, use npm:

npm install secure-jwt-auth

Usage

Encoding a JWT

Note : Although timeToLive is an optional parameter, we set a 1-hour validation for the token by default.

To encode a JWT, use the genToken method:

import { genToken } from 'secure-jwt-auth';

const token = genToken(SECRET, id , payload , timeToLive , audience , issuer);

Decoding a JWT

To decode a JWT, use the decodeToken method:

import { decodeToken } from 'secure-jwt-auth';

const decoded = decodeToken(SECRET, token);

Validating a JWT

To validate a JWT, use the validateToken method:

import { validateToken } from 'secure-jwt-auth';

const isValid = validateToken(SECRET, token);

API Playground

Explore and interact with the secure-jwt-auth package using the API Playground set up for testing. You can experiment with encoding, decoding, and validating JWTs through the following link:

API Playground on Postman

Feel free to test various endpoints and see how the package functions in different scenarios and if something weired occurs please feel free to reach out to me at [email protected].