UNPKG

passport-fast-jwt

Version:

Passport authentication strategy for JSON Web Tokens using Fast-Jwt with support for EdDSA algorithm among others

44 lines (43 loc) 1.44 kB
import Express from "express"; import PassportStrategy from "passport-strategy"; import { AfterVerifyCallback, TokenExtractor, Verifier, VerifierOptions } from "./types"; /** * @example * ```typescript * passport.use(new JwtStrategy(jwtVerifier, tokenExtractor, (sections, done, req) => { * User.findOne({ id: sections.payload.sub }, (error, user) => { * if (error) { * return done(err, false) * } * if (!user) { * return done(null, false, "User not found", 404) * } * return done(null, user) * }) * })) * * // *-----------* OR *-----------* * * passport.use(new JwtStrategy(verifierOptions, tokenExtractor, (sections, done, req) => { * User.findOne({ id: sections.payload.sub }, (error, user) => { * if (error) { * return done(err, false) * } * if (!user) { * return done(null, false, "User not found", 404) * } * return done(null, user) * }) * })) * ``` */ export declare class JwtStrategy extends PassportStrategy.Strategy { name: string; private extractToken; private verifyJwt; private afterVerifiedCb; constructor(verifierOptions: VerifierOptions, tokenExtractor: TokenExtractor, afterVerifiedCb: AfterVerifyCallback); constructor(jwtVerifier: Verifier, tokenExtractor: TokenExtractor, afterVerifiedCb: AfterVerifyCallback); private createSections; authenticate(req: Express.Request): Promise<void>; }