@keycloakify/keycloak-admin-ui
Version:
Repackaged Keycloak Admin UI
20 lines (15 loc) • 736 B
text/typescript
import UserRepresentation from "@keycloak/keycloak-admin-client/lib/defs/userRepresentation";
import { useFetch } from "@keycloakify/keycloak-admin-ui/ui-shared";
import { useState } from "react";
import { useAdminClient } from "@keycloakify/keycloak-admin-ui/admin-client";
import { useWhoAmI } from "@keycloakify/keycloak-admin-ui/context/whoami/WhoAmI";
export function useCurrentUser() {
const { adminClient } = useAdminClient();
const { whoAmI } = useWhoAmI();
const [currentUser, setCurrentUser] = useState<UserRepresentation>();
const userId = whoAmI.getUserId();
useFetch(() => adminClient.users.findOne({ id: userId }), setCurrentUser, [
userId,
]);
return { ...currentUser, realm: whoAmI.getRealm() };
}