Если я вас правильно понимаю. Похоже, вы пытаетесь использовать две разные стратегии для подписи двух разных типов токенов? Если это так, вам просто нужно использовать несколько именованных стратегий.
Внутри ваших объявлений вы можете сделать что-то вроде следующего:
export class JwtStrategy extends PassportStrategy(Strategy, 'accessToken') {}
export class JwtStrategy2 extends PassportStrategy(Strategy, 'refreshToken') {}
Теперь с двумя разными именами Вы также можете указать свою стратегию по умолчанию. Который, кажется, ваш токен доступа.
@Module({
imports: [
MongooseModule.forFeature([{ name: 'RefreshToken', schema: RefreshTokenSchema }]),
UsersModule,
PassportModule.register({ defaultStrategy: 'accessToken' }),
JwtModule.register({
secret: jwtConstants.secret,
}),
],
providers: [AuthService, LocalStrategy, JwtStrategy, JwtStrategy2],
controllers: [AuthController],
})
export class AuthModule {}
И это должно позволить вам выполнить импорт из вашего конструктора с двумя типами сервисов.
И тогда вышеупомянутый код должен работать для подписи с разными временами, вызывая каждую службу индивидуально за свою задачу! Я не запускал этот код, но он должен работать с небольшими изменениями.