githubEdit

🖼️Importing assets and fonts

Importing Custom assets that aren't fonts

For example, you can place foo.png in src/login/assets and import it in the template as shown below:

src/login/Template.tsx
import fooPngUrl from "./assets/foo.png";
// NOTE: fooPngUrl is a URL (string) that points to the asset.

// ...

<img src={fooPngUrl} />
Demo in the Starter project
Keycloakify correctly replaces the URLs

Importing Fonts

So, this is typically how you would import self hosted font in a Regular React App. Let's imagine you have the following font index CSS file:

You would import it like this:

Unfortunately this approach does not work in Keycloakify.

The workaround consist in including all your @font-face statements directly in your public/index.html file. This is how you would update your index.html file in order to make it work with Keycloakify:

Example herearrow-up-right (and the font are herearrow-up-right).

circle-info

Storybook: To have your font applied in your Storybook as well you need to import them as shown herearrow-up-right.

Importing Default Keycloak Theme Resources

circle-info

This section is mainly for transparency. You should use your own assets instead of importing the default ones; that's the whole point of creating a custom theme.

To import resources available in the default theme, you can construct URLs like:

You can see what assets are available under public/keycloak-resources/login/resources. If you want to choose which version of the assets to use, refer to this build option.

By default, the default CSS assets are imported and applied herearrow-up-right in the login theme.

Last updated

Was this helpful?