Skip to content

Commit e1f97af

Browse files
dyanmic imports of variables
1 parent b2053fd commit e1f97af

File tree

2 files changed

+30
-7
lines changed

2 files changed

+30
-7
lines changed

src/api/keycloakAdminClient.ts

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,21 @@
1-
import KcAdminClient from '@keycloak/keycloak-admin-client';
2-
31
import { SSP_KK_AUDIENCE, SSP_KK_AUTH_SERVER_URL, SSP_KK_REALM, SSP_KK_SECRET } from './envars';
42

5-
const kcAdminClient = new KcAdminClient({
6-
baseUrl: SSP_KK_AUTH_SERVER_URL,
7-
realmName: SSP_KK_REALM,
8-
});
3+
let KcAdminClient;
4+
5+
const loadKcAdminClient = async () => {
6+
// Dynamically import the Keycloak admin client (ES Module)
7+
KcAdminClient = (await import('@keycloak/keycloak-admin-client')).default;
8+
9+
const kcAdminClient = new KcAdminClient({
10+
baseUrl: SSP_KK_AUTH_SERVER_URL,
11+
realmName: SSP_KK_REALM,
12+
});
13+
14+
return kcAdminClient;
15+
};
16+
917
export const getKcAdminClient = async () => {
18+
const kcAdminClient = await loadKcAdminClient();
1019
await kcAdminClient.auth({
1120
grantType: 'client_credentials',
1221
clientId: SSP_KK_AUDIENCE,

src/api/services/kcUsersService.ts

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,23 @@
11
import KeycloakAdminClient from '@keycloak/keycloak-admin-client';
2-
import { RequiredActionAlias } from '@keycloak/keycloak-admin-client/lib/defs/requiredActionProviderRepresentation';
32
import UserRepresentation from '@keycloak/keycloak-admin-client/lib/defs/userRepresentation';
43

54
import { SSP_KK_API_CLIENT_ID, SSP_KK_SSL_RESOURCE, SSP_WEB_BASE_URL } from '../envars';
65

6+
let RequiredActionAlias: any;
7+
8+
async function loadKeycloakModule() {
9+
const module = await import(
10+
'@keycloak/keycloak-admin-client/lib/defs/requiredActionProviderRepresentation'
11+
);
12+
RequiredActionAlias = module.RequiredActionAlias;
13+
}
14+
15+
loadKeycloakModule()
16+
.then(() => {})
17+
.catch((error) => {
18+
console.error('Error loading Keycloak module:', error);
19+
});
20+
721
export const API_PARTICIPANT_MEMBER_ROLE_NAME = 'api-participant-member';
822

923
export const queryUsersByEmail = async (kcAdminClient: KeycloakAdminClient, email: string) => {

0 commit comments

Comments
 (0)