Hi all,
I am creating a custom theme with both login and account pages. I want to reuse resources for both types, so I created a common folder, just like in the default keycloak theme:
mytheme/
├── common/
│ └── resources/
│ └── img/
│ └── favicon.ico
└── login/
├── theme.properties
└── resources/
└── css/
└── style.css
My theme.properties looks like this:
parent=base
styles=css/style.css
import=common/mytheme
I deploy the theme as an archive as described in the docs. This used to work fine before adding the import=common/mytheme
line. However now I get a 500 server error whenever a login page is generated:
[org.keycloak.services] (default task-3) KC-SERVICES0013: Failed authentication: java.lang.NullPointerException
at org.keycloak.keycloak-services@12.0.4//org.keycloak.theme.DefaultThemeManager$ExtendingTheme.getMessages(DefaultThemeManager.java:256)
at org.keycloak.keycloak-services@12.0.4//org.keycloak.theme.DefaultThemeManager$ExtendingTheme.getMessages(DefaultThemeManager.java:247)
at org.keycloak.keycloak-services@12.0.4//org.keycloak.theme.DefaultThemeManager$ExtendingTheme.getMessages(DefaultThemeManager.java:236)
at org.keycloak.keycloak-services@12.0.4//org.keycloak.forms.login.freemarker.FreeMarkerLoginFormsProvider.handleThemeResources(FreeMarkerLoginFormsProvider.java:306)
...
ERROR [org.keycloak.services.error.KeycloakErrorHandler] (default task-3) Failed to create error page: java.lang.NullPointerException
at org.keycloak.keycloak-services@12.0.4//org.keycloak.theme.DefaultThemeManager$ExtendingTheme.getMessages(DefaultThemeManager.java:256)
at org.keycloak.keycloak-services@12.0.4//org.keycloak.theme.DefaultThemeManager$ExtendingTheme.getMessages(DefaultThemeManager.java:247)
at org.keycloak.keycloak-services@12.0.4//org.keycloak.theme.DefaultThemeManager$ExtendingTheme.getMessages(DefaultThemeManager.java:236)
at org.keycloak.keycloak-services@12.0.4//org.keycloak.services.error.KeycloakErrorHandler.initAttributes(KeycloakErrorHandler.java:150)
at org.keycloak.keycloak-services@12.0.4//org.keycloak.services.error.KeycloakErrorHandler.toResponse(KeycloakErrorHandler.java:86)
...
Is this a bug? Can I only import a common folder within the same theme if the theme folder is copied in the server’s themes
folder?