@babl.one/client-jwt
v0.0.3
Published
Client JWT plugin
Maintainers
Readme
babl.one Plugin :: @babl.one/client-jwt
The ClientJWT utility is a lightweight decoder used on the client side to extract payload data from a JSON Web Token (JWT). It does not verify signatures and is intended only for decoding JWTs where validation is handled on the server.
Overview
The ClientJWT Plugin allows for simple parsing of JWT tokens in the browser. It does not require a secret key and is primarily used to extract payload data for client-side use such as rendering UI or checking local user state.
Features
- Decode JWT payloads without verifying signatures.
- Gracefully handle malformed or expired tokens.
- Designed for browser environments.
- Returns token status alongside the payload.
Installation
You can include the ClientJWT utility directly in your browser-based application.
If bundled in your project:
npm install @babl.one/client-jwtOr manually include the file if not using a package manager.
Usage
Import and Parse JWT
import ClientJWT from '@babl.one/client-jwt';
const token = localStorage.getItem("authJWT") || "";
const parsed = ClientJWT.parse(token);
if (parsed.status === "INSECURE") {
console.log("User ID:", parsed.payload.userId);
}API
static parse(jwt: string): { status: JWTStatuses, payload: any }
Parses the JWT token and returns the decoded payload and a status.
Parameters
jwt: The encoded JWT string.
Returns
status:"INSECURE"if decoding was successful but not verified.status:"INVALID"if the JWT is malformed or cannot be parsed.payload: Decoded payload object, or an empty object on failure.
Token Statuses
- INSECURE: Token was parsed successfully, but not verified.
- INVALID: Token format was incorrect or decoding failed.
Example
const result = ClientJWT.parse(token);
if (result.status === "INSECURE") {
console.log(result.payload);
} else {
console.warn("Invalid token");
}Security Notice
This client-side JWT decoder does not verify the signature. Use it only for non-sensitive scenarios where the JWT has already been validated on the server.
If you need cryptographic integrity, use the server-side JWT plugin with blake2b512 validation.
Generated by the babl.one framework.
