interface IJwtService
Since 0.1.0

JWT sign/verify service.

Examples

Example 1

const jwt = ctx.services.get<IJwtService>(CAPABILITIES.JWT);
const token = await jwt.sign({ sub: user.id, roles: user.roles });
const payload = await jwt.verify<TokenPayload>(token);

Methods

sign(
payload: Readonly<Record<string, unknown>>,
options?: JwtSignOptions
): Promise<string>

Signs a payload into a JWT.

verify<T = Readonly<Record<string, unknown>>>(token: string): Promise<T>

Verifies a token's signature and validity window.

decode<T = Readonly<Record<string, unknown>>>(token: string): T | null

Decodes a token without verifying it. Never trust the result for authorization decisions.

Usage

import { type IJwtService } from "auth-plugin/src/index.ts";