@takentrade/takentrade-libs
Version:
TakeNTrade shared libraries
24 lines (23 loc) • 1.05 kB
TypeScript
import { Strategy } from 'passport-jwt';
import { TokenPayload, UserPayload, JwtConfig } from '../interfaces';
declare const TntJwtStrategy_base: new (...args: [opt: import("passport-jwt").StrategyOptionsWithRequest] | [opt: import("passport-jwt").StrategyOptionsWithoutRequest]) => Strategy & {
validate(...args: any[]): unknown;
};
/**
* TNT JWT Strategy - Abstract base JWT strategy that services can extend.
* This provides common JWT validation logic while allowing
* each service to implement its own user lookup.
*/
export declare abstract class TntJwtStrategy extends TntJwtStrategy_base {
constructor(jwtConfig: JwtConfig);
/**
* Validates the JWT payload and returns the authenticated user.
* Each service must implement this method to perform its own user lookup.
*
* @param payload - The decoded JWT payload
* @returns The authenticated user payload
* @throws UnauthorizedException if validation fails
*/
abstract validate(payload: TokenPayload): Promise<UserPayload>;
}
export {};