UNPKG

@jvhaile/loopback4-helper

Version:
32 lines (31 loc) 1.82 kB
/// <reference types="express" /> import { AuthenticationMetadata, AuthenticationStrategy } from '@loopback/authentication'; import { Getter } from '@loopback/core'; import { Request } from '@loopback/rest'; import { securityId, UserProfile } from '@loopback/security'; import { AuthenticationService } from "./services/authentication.service"; import { BaseUserRepository } from "./repositories/base.user.repository"; import { BaseSessionRepository } from "./repositories/base.session.repository"; import { BaseClientRepository } from "./repositories/base.client.repository"; import { BaseClient } from "./models/base.client.model"; import { BaseSession } from "./models/base.session.model"; import { BaseUser } from "./models/base.user.model"; export declare type CurrentUser<U extends BaseUser = BaseUser, C extends BaseClient = BaseClient, S extends BaseSession = BaseSession> = { [securityId]: string; client: C; user: U; session: S; }; export declare class AuthStrategy implements AuthenticationStrategy { readonly authenticationService: AuthenticationService; readonly getMetaData: Getter<AuthenticationMetadata>; readonly userRepository: BaseUserRepository; readonly clientRepository: BaseClientRepository; readonly sessionRepository: BaseSessionRepository; readonly name = "remit"; constructor(authenticationService: AuthenticationService, getMetaData: Getter<AuthenticationMetadata>, userRepository: BaseUserRepository, clientRepository: BaseClientRepository, sessionRepository: BaseSessionRepository); getMeta(): Promise<AuthenticationMetadata | null>; authenticate(request: Request): Promise<UserProfile | undefined>; validateClient(apiKey: any): Promise<BaseClient>; extractTokenFromHeader(request: Request): string; }