30 lines
865 B
TypeScript
30 lines
865 B
TypeScript
import KeycloakAdminClient from "@keycloak/keycloak-admin-client";
|
|
import RealmRepresentation from "@keycloak/keycloak-admin-client/lib/defs/realmRepresentation";
|
|
|
|
const adminClient = new KeycloakAdminClient({
|
|
baseUrl: process.env.KEYCLOAK_SERVER || "http://127.0.0.1:8180",
|
|
realmName: "master",
|
|
});
|
|
|
|
await adminClient.auth({
|
|
username: "admin",
|
|
password: "admin",
|
|
grantType: "password",
|
|
clientId: "admin-cli",
|
|
});
|
|
|
|
export async function useTheme() {
|
|
const masterRealm = await adminClient.realms.findOne({ realm: "master" });
|
|
await adminClient.realms.update(
|
|
{ realm: "master" },
|
|
{ ...masterRealm, accountTheme: "keycloak.v3" },
|
|
);
|
|
}
|
|
|
|
export async function importRealm(realm: RealmRepresentation) {
|
|
await adminClient.realms.create(realm);
|
|
}
|
|
|
|
export async function deleteRealm(realm: string) {
|
|
await adminClient.realms.del({ realm });
|
|
}
|