← All packages

@lacspace/jwt

v1.3.1Security Kit1 @lacspace dep

JSON Web Tokens (HS256/384/512) with strict expiry/issuer/audience checks + secure random & CSRF tokens. Isomorphic over Web Crypto — Node, edge, browser.

npm i @lacspace/jwt

Usage

jwt.ts
import { sign, verify, JwtError } from "@lacspace/jwt";

const token = await sign({ sub: "user_1", role: "admin" }, process.env.JWT_SECRET!, {
  expiresIn: 3600,           // seconds
  issuer: "lacspace",
});

try {
  const payload = await verify(token, process.env.JWT_SECRET!, { issuer: "lacspace" });
  payload.sub;  // "user_1"
} catch (e) {
  if (e instanceof JwtError) console.log(e.code); // "expired" | "signature" | …
}

Exports 18

JwtErrorauthenticateclearAuthCookiecreateRemoteJWKScsrfTokendecodeexpressJwtextractBearerimportJwkimportPkcs8importSpkiissueTokenPairrandomTokenrotateRefreshTokensigntoAuthCookieverifyverifyRefreshToken

Keywords

jwtjsonwebtokenhs256tokenauthcsrf

More in Security Kit