[keycloak-user] Deploy theme

Bruno Oliveira bruno at abstractj.org
Tue Oct 4 06:51:15 EDT 2016


I couldn't reproduce your issue. What I did was just:
cp -Rv themes/keycloak themes/mytheme, enabled it at the admin console
and changed the background to make sure it works.

Maybe try the examples here[1], to double check your setup?

[1] - https://github.com/keycloak/keycloak/tree/master/examples/themes

On Mon, Oct 3, 2016 at 12:59 PM Zeus Arias Lucero | BEEVA <
zeus.arias at beeva.com> wrote:

> The version is: 2.2.1
>
> The file is identical.
>
> The steps:
>
>
>    - Copy keycloak theme
>    - Rename the copy to mytheme
>    - Modify CSS and templates
>    - Theme.properties change and modify import=common/keycloak by
>    import=common/mytheme
>    - Reload administration page
>
> theme.properties:
> parent=base
> import=common/mytheme
> locales=en,es
> forumURL=https://URL
>
> styles=css/login.css css/buttons.css css/footer.css css/social-buttons.css
> css/typography.css
> meta=viewport==width=device-width,initial-scale=1
>
> kcHtmlClass=login-pf
>
> kcLogoLink=http://www.URL.com
>
> kcContentClass=col-sm-12 col-md-12 col-lg-12 container
> kcContentWrapperClass=row
>
> kcHeaderClass=col-xs-12 col-sm-8 col-md-8 col-lg-7
> kcFeedbackAreaClass=col-md-12
> kcLocaleClass=col-xs-12 col-sm-1
> kcAlertIconClasserror=pficon pficon-error-circle-o
>
> kcFormAreaClass=col-xs-12 col-sm-8 col-md-8 col-lg-7 login
>
> kcFeedbackErrorIcon=pficon pficon-error-circle-o
> kcFeedbackWarningIcon=pficon pficon-warning-triangle-o
> kcFeedbackSuccessIcon=pficon pficon-ok
> kcFeedbackInfoIcon=pficon pficon-info
>
>
> kcFormClass=form-horizontal
> kcFormGroupClass=form-group
> kcFormGroupClassUsername=form-group username
> kcFormGroupClassPassword=form-group password
> kcFormGroupErrorClass=has-error
> kcLabelClass=control-label
> kcLabelWrapperClass=col-xs-12 col-sm-12 col-md-12 col-lg-12
> kcInputClass=form-control
> kcInputWrapperClass=col-xs-12 col-sm-12 col-md-12 col-lg-12
> kcFormOptionsClass=col-xs-4 col-sm-5 col-md-offset-4 col-md-4
> col-lg-offset-3 col-lg-5
> kcFormButtonsClass=col-xs-8 col-sm-7 col-md-4 col-lg-4 submit
> kcTextareaClass=form-control
> kcForfotPassword=forgotPass
>
> kcInfoAreaClass=col-xs-12 col-sm-4 col-md-4 col-lg-5 details
>
> ##### css classes for form buttons
> # main class used for all buttons
> kcButtonClass=btn
> # classes defining priority of the button - primary or default (there is
> typically only one priority button for the form)
> kcButtonPrimaryClass=btn-primary
> kcButtonDefaultClass=btn-default
> # classes defining size of the button
> kcButtonLargeClass=btn-lg
>
>
> 2016-10-03 17:32 GMT+02:00 Bruno Oliveira <bruno at abstractj.org>:
>
> Are you following the instructions from here:
> https://keycloak.gitbooks.io/server-developer-guide/content/topics/themes.html
> ?
>
> Which version of Keycloak? How your property file looks like? What are
> the steps to reproduce?
>
> On 2016-10-03, Zeus Arias Lucero | BEEVA wrote:
> > Hi!
> >
> > I'm developing a theme and when copied to the folder
> > /op/keycloak/theme occurs this:
> >
> > 2016-10-03 13:00:39,237 ERROR [io.undertow.request] (default task-5)
> > UT005023: Exception handling request to /auth/admin/serverinfo:
> > org.jboss.resteasy.spi.UnhandledException: java.lang.NullPointerException
> > at
> >
> org.jboss.resteasy.core.ExceptionHandler.handleApplicationException(ExceptionHandler.java:76)
> > at
> >
> org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:212)
> > at
> >
> org.jboss.resteasy.core.SynchronousDispatcher.writeException(SynchronousDispatcher.java:168)
> > at
> >
> org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:411)
> > at
> >
> org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:202)
> > at
> >
> org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:221)
> > at
> >
> org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
> > at
> >
> org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
> > at
> >
> io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
> > at
> >
> io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
> > at
> >
> org.keycloak.services.filters.KeycloakSessionServletFilter.doFilter(KeycloakSessionServletFilter.java:90)
> > at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)
> > at
> >
> io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
> > at
> >
> io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
> > at
> >
> io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
> > at
> >
> io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
> > at
> >
> org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
> > at
> >
> io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> > at
> >
> io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
> > at
> >
> io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
> > at
> >
> io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> > at
> >
> io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
> > at
> >
> io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
> > at
> >
> io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
> > at
> >
> io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
> > at
> >
> io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
> > at
> >
> io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
> > at
> >
> io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> > at
> >
> org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
> > at
> >
> io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> > at
> >
> io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> > at
> >
> io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:284)
> > at
> >
> io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:263)
> > at
> >
> io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
> > at
> >
> io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:174)
> > at io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)
> > at
> io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:793)
> > at
> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> > at
> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> > at java.lang.Thread.run(Thread.java:745)
> > Caused by: java.lang.NullPointerException
> > at
> >
> org.keycloak.theme.ExtendingThemeManager$ExtendingTheme.getProperties(ExtendingThemeManager.java:284)
> > at
> > org.keycloak.services.resources.admin.info
> .ServerInfoAdminResource.setThemes(ServerInfoAdminResource.java:170)
> > at
> > org.keycloak.services.resources.admin.info
> .ServerInfoAdminResource.getInfo(ServerInfoAdminResource.java:90)
> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> > at
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> > at java.lang.reflect.Method.invoke(Method.java:498)
> > at
> >
> org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:139)
> > at
> >
> org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:295)
> > at
> >
> org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:249)
> > at
> >
> org.jboss.resteasy.core.ResourceLocatorInvoker.invokeOnTargetObject(ResourceLocatorInvoker.java:138)
> > at
> >
> org.jboss.resteasy.core.ResourceLocatorInvoker.invoke(ResourceLocatorInvoker.java:101)
> > at
> >
> org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:395)
> > ... 37 more
> >
> >
> > This happens occasionally
> >
> >
> > Any ideas?
> > _______________________________________________
> > keycloak-user mailing list
> > keycloak-user at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/keycloak-user
>
> --
>
> abstractj
> PGP: 0x84DC9914
>
>
>
>
> --
> Un saludo!
>
> *Zeus Arias                       *
> Grupo APIVersity. Técnico de Sistemas.
> zeus.arias at bbva.com
> zeus.arias at beeva.com
>
>
>
>
>
> Aviso Legal:
> Este mensaje, su contenido y cualquier fichero transmitido con él, está
> dirigido únicamente a su destinatario y es confidencial. Por ello, se
> informa a quien lo reciba por error o tenga conocimiento del mismo sin ser
> su destinatario, que la información contenida en él es reservada y su uso
> no autorizado, por lo que en tal caso le rogamos nos lo comunique por la
> misma vía, así como que se abstenga de reproducir el mensaje mediante
> cualquier medio o remitirlo o entregarlo a otra persona, procediendo a su
> borrado de manera inmediata.
> Disclaimer:
> This message, its content and any file attached thereto is for the
> intended recipient only and is confidential. If you have received this
> e-mail in error or had access to it, you should note that the information
> in it is private and any use there of is unauthorized. In such an event
> please notify us by e-mail. Any reproduction of this e-mail by whatsoever
> means and any transmission or dissemination thereof to other persons is
> prohibited. It should be deleted immediately from your system.
>
>


More information about the keycloak-user mailing list