diff --git a/src/tasks/keycloak/config.ts b/src/tasks/keycloak/config.ts index 5defa6d7..2182aac2 100644 --- a/src/tasks/keycloak/config.ts +++ b/src/tasks/keycloak/config.ts @@ -4,7 +4,6 @@ import { ProtocolMapperRepresentation } from '@redkubes/keycloak-client-node' import axios from 'axios' export const keycloakRealm = 'otomi' -export const adminUserName = 'admin' export const defaultsIdpMapperTpl = (env: Record): Array> => [ { @@ -50,8 +49,8 @@ export const idpMapperTpl = (name: string, alias: string, role: string, claim: s }, }) -export const adminUserCfgTpl = (password: string): Record => ({ - username: adminUserName, +export const adminUserCfgTpl = (username: string, password: string): Record => ({ + username, email: 'admin@oto.mi', emailVerified: true, enabled: true, diff --git a/src/tasks/keycloak/keycloak.ts b/src/tasks/keycloak/keycloak.ts index 4319764e..b6f01db8 100644 --- a/src/tasks/keycloak/keycloak.ts +++ b/src/tasks/keycloak/keycloak.ts @@ -338,8 +338,8 @@ async function main(): Promise { }), ) - // Create default user 'admin' in realm 'otomi' - const userConf = createAdminUser(env.KEYCLOAK_ADMIN_PASSWORD) + // Create default admin user in realm 'otomi' + const userConf = createAdminUser(env.KEYCLOAK_ADMIN, env.KEYCLOAK_ADMIN_PASSWORD) const existingUsersByAdminEmail = (await doApiCall([], `Getting users`, () => api.users.realmUsersGet(keycloakRealm, false, userConf.email), )) as UserRepresentation[] diff --git a/src/tasks/keycloak/realm-factory.ts b/src/tasks/keycloak/realm-factory.ts index b163c9fd..f5034042 100644 --- a/src/tasks/keycloak/realm-factory.ts +++ b/src/tasks/keycloak/realm-factory.ts @@ -130,8 +130,8 @@ export function createClientEmailClaimMapper(): ProtocolMapperRepresentation { return emailClaimMapper } -export function createAdminUser(password: string): UserRepresentation { - const userRepresentation = defaultsDeep(new UserRepresentation(), adminUserCfgTpl(password)) +export function createAdminUser(username: string, password: string): UserRepresentation { + const userRepresentation = defaultsDeep(new UserRepresentation(), adminUserCfgTpl(username, password)) return userRepresentation }