diff --git a/src/guards/auth.guard.ts b/src/guards/auth.guard.ts index 6e76a8e..b137dca 100644 --- a/src/guards/auth.guard.ts +++ b/src/guards/auth.guard.ts @@ -13,6 +13,7 @@ import { KEYCLOAK_COOKIE_DEFAULT, KEYCLOAK_INSTANCE, KEYCLOAK_LOGGER, + KEYCLOAK_MULTITENANT_SERVICE, TokenValidation, } from '../constants'; import { @@ -36,6 +37,7 @@ export class AuthGuard implements CanActivate { private keycloakOpts: KeycloakConnectConfig, @Inject(KEYCLOAK_LOGGER) private logger: Logger, + @Inject(KEYCLOAK_MULTITENANT_SERVICE) private multiTenant: KeycloakMultiTenantService, private readonly reflector: Reflector, ) {} diff --git a/src/guards/resource.guard.ts b/src/guards/resource.guard.ts index 7e27150..af9ce10 100644 --- a/src/guards/resource.guard.ts +++ b/src/guards/resource.guard.ts @@ -11,6 +11,7 @@ import { KEYCLOAK_CONNECT_OPTIONS, KEYCLOAK_INSTANCE, KEYCLOAK_LOGGER, + KEYCLOAK_MULTITENANT_SERVICE, PolicyEnforcementMode, } from '../constants'; import { META_ENFORCER_OPTIONS } from '../decorators/enforcer-options.decorator'; @@ -35,6 +36,7 @@ export class ResourceGuard implements CanActivate { private keycloakOpts: KeycloakConnectConfig, @Inject(KEYCLOAK_LOGGER) private logger: Logger, + @Inject(KEYCLOAK_MULTITENANT_SERVICE) private multiTenant: KeycloakMultiTenantService, private readonly reflector: Reflector, ) {} diff --git a/src/guards/role.guard.ts b/src/guards/role.guard.ts index 454ca3d..7925fa6 100644 --- a/src/guards/role.guard.ts +++ b/src/guards/role.guard.ts @@ -11,6 +11,7 @@ import { KEYCLOAK_CONNECT_OPTIONS, KEYCLOAK_INSTANCE, KEYCLOAK_LOGGER, + KEYCLOAK_MULTITENANT_SERVICE, RoleMatchingMode, RoleMerge, } from '../constants'; @@ -33,6 +34,7 @@ export class RoleGuard implements CanActivate { private keycloakOpts: KeycloakConnectConfig, @Inject(KEYCLOAK_LOGGER) private logger: Logger, + @Inject(KEYCLOAK_MULTITENANT_SERVICE) private multiTenant: KeycloakMultiTenantService, private readonly reflector: Reflector, ) {} diff --git a/src/keycloak-connect.module.ts b/src/keycloak-connect.module.ts index ab2f3e0..b4e4fe5 100644 --- a/src/keycloak-connect.module.ts +++ b/src/keycloak-connect.module.ts @@ -1,5 +1,5 @@ import { DynamicModule, Logger, Module, Provider } from '@nestjs/common'; -import { KEYCLOAK_CONNECT_OPTIONS } from './constants'; +import { KEYCLOAK_CONNECT_OPTIONS, KEYCLOAK_MULTITENANT_SERVICE } from './constants'; import { KeycloakConnectModuleAsyncOptions } from './interface/keycloak-connect-module-async-options.interface'; import { KeycloakConnectOptionsFactory } from './interface/keycloak-connect-options-factory.interface'; import { @@ -48,6 +48,10 @@ export class KeycloakConnectModule { loggerProvider, keycloakProvider, KeycloakMultiTenantService, + { + provide: KEYCLOAK_MULTITENANT_SERVICE, + useClass: KeycloakMultiTenantService + } ]; return { module: KeycloakConnectModule, @@ -77,6 +81,10 @@ export class KeycloakConnectModule { loggerProvider, keycloakProvider, KeycloakMultiTenantService, + { + provide: KEYCLOAK_MULTITENANT_SERVICE, + useClass: KeycloakMultiTenantService + } ]; if (options.useExisting || options.useFactory) {