This is the documentation for v9, checkout the latest version
Keycloakify
v9
  • Keycloakify
  • Release Notes & Upgrade Instructions
  • FAQ
v9
  • 👨‍💻Quick start
  • 📥Importing your theme in Keycloak
  • 🔩Keycloakify in my App
  • 🖼️Importing assets and fonts
  • 📧Email customization
  • ✒️Terms and conditions
  • ✅Realtime input validation and custom registration fields
  • ⚠️Limitations
  • 🔧Environment Variables
  • 🌎i18n: msg(...)
  • 📖Build options
  • 💂Email domain acceptlist
  • 🛑Keycloak error in log
  • 🌉Passing values from the App to the theme
  • 💟Contributing
  • 🤔How it works
  • ⬆️Migration guides
    • ⬆️CRA -> Vite
    • ⬆️v8 -> v9
    • ⬆️v7 -> v8
    • ⬆️v6 -> v7
    • ⬆️v6.x -> v6.12
    • ⬆️v5 -> v6
Powered by GitBook
On this page
  • Some pages still have the default theme. Why?
  • process.env.PUBLIC_URL not supported.
  • Self hosted fonts
  • Admin Console Theme not supported
  • Wellcome page not customizable
  • Field Names can't be runtime generated

Was this helpful?

Limitations

PreviousRealtime input validation and custom registration fieldsNextEnvironment Variables

Last updated 2 days ago

Was this helpful?

Some pages still have the default theme. Why?

This project only support out of the box the most common user facing pages of Keycloak but not all of them. You might find out that a page that you need to customize is not yet provided as a react component by Keycloakify.

are the login pages currently implemented vs .

are the account pages currently implemented vs . You can preview the pages looks in . (Well of course the pages that are not yet implemented will not apprear here.)

If the page you are looking for is implemented you can import it in you project with this command:

npx -p keycloakify download-builtin-keycloak-theme

(Before copying the page in your project try to see if you can't achieve the desired look by customizing the Template.tsx) Otherwise, keep reading.

I have established that a page that I need isn't supported out of the box by Keycloakify, now what?

Keycloakify also enables you to declare custom ftl pages.

Check out how my-extra-page-1.ftl and my-extra-page-2.ftl where added to .

Main takeaways are:

  • (TS only) You must declare theses page in the type argument of the getter function for the kcContext in order to have the correct typings.

  • (TS only) If you use Keycloak plugins that defines non standard .ftl values (Like for example that define authorizedMailDomains in register.ftl) you should declare theses value to get the type.

  • You should provide sample data for all the non standard value if you want to be able to debug the page outside of keycloak.

process.env.PUBLIC_URL not supported.

The environment variable process.env.PUBLIC_URL can't be directly used in a Keycloakify project but there is a workaround. See:

In Vite import.meta.env.BASE_URL is supported!

Self hosted fonts

Importing self hosted font does not work out of the box like it would in a regular React project. See workaround:

Other workarounds

  • You can circumvent the problem by avoiding hosting your font yourself using Google Fonts, Font Awesome or any other font provider.

Admin Console Theme not supported

Wellcome page not customizable

The following page isn't customizable yet.

Field Names can't be runtime generated

// OK ✅
messagesPerField.exists("foo-bar")

// Not OK 🛑
const bar= "bar";
messagesPerField.exists(`foo-${bar}`);

You can , you will need to enable on the server serving your fonts.

If you are missing this feature .

It's however planned to enable this. Follow the progress in .

Keycloakify analyze your code to see what field name are used. As a result your field names should be hard coded in your code (If you are you don't have to worry about it).

⚠️
self host your font somewhere
Access-Control-Allow-Origin
open an issue about it
this issue
using user profile
Here
all the existing pages
Here
all the existing pages
the Storybook
Video demo
💟Contributing
the starter project
example
this plugin
example
example
Cloud IAM - Keycloak Identity and Access Management as a Service
Feeling overwhelmed? Check out our exclusive sponsor's Cloud-IAM consulting services to simplify your experience.
#import-assets-from-the-public-directory
#self-hosted-fonts
Logo