keycloak-scim/js/apps/admin-ui
Erik Jan de Wit 1fe5082edd
Fall back to page properties if no display fields are specified (#31769)
Closes keycloak/keycloak-quickstarts#587

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>
Co-authored-by: Jon Koops <jonkoops@gmail.com>
2024-07-30 14:12:13 +00:00
..
cypress Use TextControl in StringComponent (#31442) 2024-07-29 09:29:56 +01:00
maven-resources removed unused help text (#31481) 2024-07-23 07:13:29 +02:00
maven-resources-community/theme/keycloak.v2/admin/messages Translations update from Hosted Weblate 2024-07-29 08:21:52 +00:00
public Upgrade admin and account console to PatternFly 5 (#28196) 2024-04-05 16:37:05 +02:00
src Fall back to page properties if no display fields are specified (#31769) 2024-07-30 14:12:13 +00:00
.gitignore Add lib directory of Admin Console to .gitignore (#31579) 2024-07-24 17:31:35 +02:00
CONTRIBUTING.md make admin-ui build as a library (#30268) 2024-07-05 12:48:10 -04:00
cypress.config.js move keycloak select to ui-shared and fix typeahead (#30209) 2024-06-07 16:05:03 +00:00
package.json Bump vite from 5.3.4 to 5.3.5 (#31644) 2024-07-26 11:35:17 +02:00
pom.xml added admin-ui to the distribution (#31404) 2024-07-19 10:36:16 +02:00
README.md make admin-ui build as a library (#30268) 2024-07-05 12:48:10 -04:00
tsconfig.json Move ESLint configuration to project root (#28639) 2024-04-12 08:34:18 +00:00
tsconfig.node.json
vite.config.ts make admin-ui build as a library (#30268) 2024-07-05 12:48:10 -04:00

Keycloak Admin UI

This project is the next generation of the Keycloak Admin UI. It is written with React and PatternFly 4 and uses Vite.

Features

Contains all the "pages" from the admin-ui as re-usable components, all the functions to save and the side menu to use in your own build of the admin-ui

Install

npm i @keycloak/keycloak-admin-ui

Usage

To use these pages you'll need to add KeycloakProvider in your component hierarchy to setup what client, realm and url to use.

import { KeycloakProvider } from "@keycloak/keycloak-ui-shared";

//...

<KeycloakProvider environment={{
      authServerUrl: "http://localhost:8080",
      realm: "master",
      clientId: "security-admin-console"
  }}>
  {/* rest of you application */}
</KeycloakProvider>

Translation

For the translation we use react-i18next you can set it up as described on their website. If you want to use the translations that are provided then you need to add i18next-http-backend to your project and add:


backend: {
  loadPath: `http://localhost:8180/resources/master/admin/{{lng}}`,
  parse: (data: string) => {
    const messages = JSON.parse(data);

    const result: Record<string, string> = {};
    messages.forEach((v) => (result[v.key] = v.value));
    return result;
  },
},

to the i18next config object.

Building

To build a library instead of an app you need to add the LIB=true environment variable.

LIB=true pnpm run build