/// import { ParsedRequest } from '@loopback/core'; import { Strategy } from 'passport'; import { UserProfile } from './provider'; /** * Shimmed Request to satisfy express requirements of passport strategies. */ export declare class ShimRequest { headers: Object; query: Object; url: string; path: string; method: string; constructor(request: ParsedRequest); } /** * Adapter class to invoke passport-strategy * 1. provides express dependencies to the passport strategies * 2. provides shimming of requests for passport authentication * 3. provides lifecycle similar to express to the passport-strategy * 3. provides state methods to the strategy instance * see: https://github.com/jaredhanson/passport */ export declare class StrategyAdapter { private readonly strategy; /** * @param strategy instance of a class which implements a passport-strategy; * @description http://passportjs.org/ */ constructor(strategy: Strategy); /** * The function to invoke the contained passport strategy. * 1. Create an instance of the strategy * 2. add success and failure state handlers * 3. authenticate using the strategy * @param req {http.ServerRequest} The incoming request. */ authenticate(req: ParsedRequest): Promise; }