Setu-TS
    Preparing search index...

    Interface IJwtService

    JWT sign/verify service.

    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);

    0.1.0

    interface IJwtService {
        decode<T = Readonly<Record<string, unknown>>>(token: string): T | null;
        sign(
            payload: Readonly<Record<string, unknown>>,
            options?: JwtSignOptions,
        ): Promise<string>;
        verify<T = Readonly<Record<string, unknown>>>(token: string): Promise<T>;
    }
    Index
    • Decodes a token without verifying it. Never trust the result for authorization decisions.

      Type Parameters

      • T = Readonly<Record<string, unknown>>

        The expected payload shape

      Parameters

      • token: string

        The token to decode

      Returns T | null

      The decoded payload, or null when malformed

    • Signs a payload into a JWT.

      Parameters

      • payload: Readonly<Record<string, unknown>>

        Claims to embed

      • Optionaloptions: JwtSignOptions

        Expiry, audience, issuer

      Returns Promise<string>

      The signed token

    • Verifies a token's signature and validity window.

      Type Parameters

      • T = Readonly<Record<string, unknown>>

        The expected payload shape

      Parameters

      • token: string

        The token to verify

      Returns Promise<T>

      The verified payload

      If the token is invalid, expired, or tampered with