@keycloakify/keycloak-admin-ui
Version:
<p align="center"> <img src="https://github.com/user-attachments/assets/a6aaebbd-8f59-474d-9827-c282f4527aca"> </p> <p align="center"> <i>Repackaged Keycloak Admin UI</i> <br> <br> <a href="https://github.com/keycloakify/keycloak-adm
46 lines (36 loc) • 1.08 kB
text/typescript
/* eslint-disable */
// @ts-nocheck
import KeycloakAdminClient from "@keycloak/keycloak-admin-client";
import {
createNamedContext,
useRequiredContext,
} from "../shared/keycloak-ui-shared";
import type Keycloak from "keycloak-js";
import type { Environment } from "./environment";
export type AdminClientProps = {
keycloak: Keycloak;
adminClient: KeycloakAdminClient;
};
export const AdminClientContext = createNamedContext<
AdminClientProps | undefined
>("AdminClientContext", undefined);
export const useAdminClient = () => useRequiredContext(AdminClientContext);
export async function initAdminClient(
keycloak: Keycloak,
environment: Environment,
) {
const adminClient = new KeycloakAdminClient();
adminClient.setConfig({ realmName: environment.realm });
adminClient.baseUrl = environment.adminBaseUrl;
adminClient.registerTokenProvider({
async getAccessToken() {
try {
await keycloak.updateToken(5);
} catch {
await keycloak.login();
}
return keycloak.token;
},
});
return adminClient;
}