Inyectar un servicio o clase en el guard en NestJS.
Se necesita el cliente DI Kafka en guardia:
auth.guard.ts
export class AuthGuard implements CanActivate {
private _client: ClientKafka; <----- // TODO implementar mecanismo de DI Nestjs
public async canActivate(context: ExecutionContext): Promise<boolean> {
try {
const request = context.switchToHttp().getRequest();
const authorization: string = request.get('Authorization');
...código aquí simplemente envía datos al servicio JWT...
return true;
} catch (err) {
return false;
}
}
}
En canActivate se usa new para crear una instancia del cliente Kafka en auth.guard.ts. Pero, ¿cómo se inyecta una clase en guardia con @Inject? Solía crear un módulo @Global, que proporciona y exporta la clase Cliente Kafka, pero no está funcionando…
davy.ai