import {DynamicModule, Module} from '@nestjs/common'; import { AuthenticationGuard } from './authentication.guard'; import { AuthenticationGuardService } from './services/authentication.guard.service'; export interface AuthenticationGuardModuleConfig { hostDomain: string; jwksRoute: string; } @Module({}) export class AuthenticationGuardModule { static register(options: AuthenticationGuardModuleConfig): DynamicModule { return { module: AuthenticationGuardModule, providers: [ AuthenticationGuard, { provide: AuthenticationGuardService, useValue: new AuthenticationGuardService(options) } ], exports: [AuthenticationGuard, AuthenticationGuardService], } } }