UNPKG

@keycloakify/keycloak-admin-ui

Version:
30 lines (26 loc) 800 B
import { useServerInfo } from "@keycloakify/keycloak-admin-ui/context/server-info/ServerInfoProvider"; export enum Feature { AdminFineGrainedAuthz = "ADMIN_FINE_GRAINED_AUTHZ", ClientPolicies = "CLIENT_POLICIES", Kerberos = "KERBEROS", DynamicScopes = "DYNAMIC_SCOPES", DPoP = "DPOP", DeviceFlow = "DEVICE_FLOW", TransientUsers = "TRANSIENT_USERS", ClientTypes = "CLIENT_TYPES", DeclarativeUI = "DECLARATIVE_UI", Organizations = "ORGANIZATION", OpenId4VCI = "OID4VC_VCI", } export default function useIsFeatureEnabled() { const { features } = useServerInfo(); return function isFeatureEnabled(feature: Feature) { if (!features) { return false; } return features .filter((f) => f.enabled) .map((f) => f.name) .includes(feature); }; }