πŸ” Create Keycloak themes using React πŸ”

Home - Documentation - Storybook - Starter project

Ultimately this build tool generates a Keycloak theme Learn more

## Sponsor πŸ‘Ό We are exclusively sponsored by [Cloud IAM](https://www.cloud-iam.com), a French company offering Keycloak as a service. Their dedicated support helps us continue the development and maintenance of this project. [Cloud IAM](https://cloud-iam.com/?mtm_campaign=keycloakify-deal&mtm_source=keycloakify-github) provides the following services: - Simplify and secure your Keycloak Identity and Access Management. Keycloak as a Service. - Custom theme building for your brand using Keycloakify.
![Logo Dark](https://user-images.githubusercontent.com/6702424/234135797-c84d0a90-0526-43e5-a186-70cbebdeb278.png#gh-dark-mode-only)
![Logo Light](https://user-images.githubusercontent.com/6702424/234135799-68684c33-4ec5-48d4-8763-0f3922c86643.png#gh-light-mode-only)

Checkout Cloud IAM and use promo code keycloakify5
5% of your annual subscription will be donated to us, and you'll get 5% off too.

Thank you, [Cloud IAM](https://cloud-iam.com/?mtm_campaign=keycloakify-deal&mtm_source=keycloakify-github), for your support! ## Contributors ✨ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
Waldemar Reusch
Waldemar Reusch

πŸ’»
William Will
William Will

πŸ’»
Bystrova Ann
Bystrova Ann

πŸ’»
Michael Kreuzmayr
Michael Kreuzmayr

πŸ’»
Mary
Mary

πŸ’»
German Γ–ΓΆ
German Γ–ΓΆ

πŸ’»
Julien Bouquillon
Julien Bouquillon

πŸ’»
Aidan Gilmore
Aidan Gilmore

πŸ’»
Void
Void

πŸ’»
juffe
juffe

πŸ’»
Lazaros Toumanidis
Lazaros Toumanidis

πŸ’»
Marc
Marc

πŸ’»
Kasir Barati
Kasir Barati

πŸ“–
Alex Oliynyk
Alex Oliynyk

πŸ’»
Thomas Silvestre
Thomas Silvestre

πŸ’»
# Changelog highlights ## 7.9 - Separate script for copying the default theme static assets to the public directory. Theses assets are only needed for testing your theme locally in Storybook or with a `mockPageId`. You are now expected to have a `"prepare": "copy-keycloak-resources-to-public",` in your package.json scripts. This script will create `public/keycloak-assets` when you run `yarn install` (If you are using another package manager like `pnpm` makes sure that `"prepare"` is actually ran.) [See the updated starter](https://github.com/keycloakify/keycloakify-starter/blob/94532fcf10bf8b19e0873be8575fd28a8958a806/package.json#L11). `public/keycloak-assets` shouldn't be tracked by GIT and is automatically ignored. ## 7.7 - Better storybook support, see [the starter project](https://github.com/keycloakify/keycloakify-starter). ## 7.0 🍾 - Account theme support πŸš€ - It's much easier to customize pages at the CSS level, you can now see in the browser dev tool the customizable classes. - New interactive CLI tool `npx eject-keycloak-page`, that enables to select the page you want to customize at the component level. - There is [a Storybook](https://storybook.keycloakify.dev) - [Remember me is fixed](https://github.com/keycloakify/keycloakify/pull/272) ## 6.13 - Build work behind corporate proxies, [see issue](https://github.com/keycloakify/keycloakify/issues/257). ## 6.12 Massive improvement in the developer experience: - There is now only one starter repo: https://github.com/codegouvfr/keycloakify-starter - A lot of comments have been added in the code of the starter to make it easier to get started. - The doc has been updated: https://docs.keycloakify.dev - A lot of improvements in the type system. ## 6.11.4 - You no longer need to have Maven installed to build the theme. Thanks to @lordvlad, [see PR](https://github.com/keycloakify/keycloakify/pull/239). - Feature new build options: [`bundler`](https://docs.keycloakify.dev/build-options#keycloakify.bundler), [`groupId`](https://docs.keycloakify.dev/build-options#keycloakify.groupid), [`artifactId`](https://docs.keycloakify.dev/build-options#keycloakify.artifactid), [`version`](https://docs.keycloakify.dev/build-options#version). Theses options can be user to customize the output name of the .jar. You can use environnement variables to overrides the values read in the package.json. Thanks to @lordvlad. ## 6.10.0 - Widows compat (thanks to @lordvlad, [see PR](https://github.com/keycloakify/keycloakify/pull/226)). WSL is no longer required πŸŽ‰ ## 6.8.4 - `@emotion/react` is no longer a peer dependency of Keycloakify. ## 6.8.0 - It is now possible to pass a custom `