[keycloak-user] User registration link/button not showing, with exception on console

Bill Burke bburke at redhat.com
Mon Feb 3 14:36:12 EST 2014


Bug.  This will work with realms that are not the "keycloak-admin" 
realm.  We'll fix this for the next release.

There's some old, obsolete logic that if you turn on registration for 
the keycloak-admin realm, it redirects to a now non-existent 
keycloak-admin specific registration page

On 2/3/2014 11:42 AM, Edem Morny wrote:
> I logged in as the admin user and enabled the User Registration. However
> when i logged out, I realise there seems to be no link/button for
> creating self registering. The login screen only shows "New User?" but
> it seems an exception is thrown on the console whenever I enable User
> Registration and attempt to try it out. Any pointers on what's going on?
> Find the exception stacktrace below.
>
> Template processing error: "get(registrationUrl) failed on instance of
> org.keycloak.forms.UrlBean": freemarker.template.TemplateModelException:
> get(registrationUrl) failed on instance of org.keycloak.forms.UrlBean
>      at freemarker.ext.beans.BeanModel.get(BeanModel.java:224)
> [freemarker-2.3.19.jar:2.3.19]
>      at freemarker.core.Dot._getAsTemplateModel(Dot.java:76)
> [freemarker-2.3.19.jar:2.3.19]
>      at
> freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> [freemarker-2.3.19.jar:2.3.19]
>      at freemarker.core.Expression.getStringValue(Expression.java:93)
> [freemarker-2.3.19.jar:2.3.19]
>      at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
> [freemarker-2.3.19.jar:2.3.19]
>      at freemarker.core.Environment.visit(Environment.java:221)
> [freemarker-2.3.19.jar:2.3.19]
>      at freemarker.core.MixedContent.accept(MixedContent.java:92)
> [freemarker-2.3.19.jar:2.3.19]
>      at freemarker.core.Environment.visit(Environment.java:221)
> [freemarker-2.3.19.jar:2.3.19]
>      at
> freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
> [freemarker-2.3.19.jar:2.3.19]
>      at freemarker.core.Environment.visit(Environment.java:221)
> [freemarker-2.3.19.jar:2.3.19]
>      at freemarker.core.MixedContent.accept(MixedContent.java:92)
> [freemarker-2.3.19.jar:2.3.19]
>      at freemarker.core.Environment.visit(Environment.java:221)
> [freemarker-2.3.19.jar:2.3.19]
>      at freemarker.core.IfBlock.accept(IfBlock.java:82)
> [freemarker-2.3.19.jar:2.3.19]
>      at freemarker.core.Environment.visit(Environment.java:221)
> [freemarker-2.3.19.jar:2.3.19]
>      at freemarker.core.Environment.visit(Environment.java:406)
> [freemarker-2.3.19.jar:2.3.19]
>      at freemarker.core.BodyInstruction.accept(BodyInstruction.java:93)
> [freemarker-2.3.19.jar:2.3.19]
>      at freemarker.core.Environment.visit(Environment.java:221)
> [freemarker-2.3.19.jar:2.3.19]
>      at freemarker.core.MixedContent.accept(MixedContent.java:92)
> [freemarker-2.3.19.jar:2.3.19]
>      at freemarker.core.Environment.visit(Environment.java:221)
> [freemarker-2.3.19.jar:2.3.19]
>      at freemarker.core.Macro$Context.runMacro(Macro.java:172)
> [freemarker-2.3.19.jar:2.3.19]
>      at freemarker.core.Environment.visit(Environment.java:614)
> [freemarker-2.3.19.jar:2.3.19]
>      at freemarker.core.UnifiedCall.accept(UnifiedCall.java:106)
> [freemarker-2.3.19.jar:2.3.19]
>      at freemarker.core.Environment.visit(Environment.java:221)
> [freemarker-2.3.19.jar:2.3.19]
>      at freemarker.core.MixedContent.accept(MixedContent.java:92)
> [freemarker-2.3.19.jar:2.3.19]
>      at freemarker.core.Environment.visit(Environment.java:221)
> [freemarker-2.3.19.jar:2.3.19]
>      at freemarker.core.Environment.process(Environment.java:199)
> [freemarker-2.3.19.jar:2.3.19]
>      at freemarker.template.Template.process(Template.java:259)
> [freemarker-2.3.19.jar:2.3.19]
>      at
> org.keycloak.service.FormServiceImpl.processFmTemplate(FormServiceImpl.java:111)
> [keycloak-forms-1.0-alpha-1.jar:]
>      at
> org.keycloak.service.FormServiceImpl.process(FormServiceImpl.java:99)
> [keycloak-forms-1.0-alpha-1.jar:]
>      at
> org.keycloak.services.resources.flows.FormFlows.forwardToForm(FormFlows.java:143)
> [keycloak-services-1.0-alpha-1.jar:]
>      at
> org.keycloak.services.resources.flows.FormFlows.forwardToForm(FormFlows.java:154)
> [keycloak-services-1.0-alpha-1.jar:]
>      at
> org.keycloak.services.resources.flows.FormFlows.forwardToLogin(FormFlows.java:178)
> [keycloak-services-1.0-alpha-1.jar:]
>      at
> org.keycloak.services.resources.TokenService.loginPage(TokenService.java:521)
> [keycloak-services-1.0-alpha-1.jar:]
>      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [rt.jar:1.7.0_45]
>      at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> [rt.jar:1.7.0_45]
>      at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> [rt.jar:1.7.0_45]
>      at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_45]
>      at
> org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:137)
> [resteasy-jaxrs-3.0.6.Final.jar:]
>      at
> org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:280)
> [resteasy-jaxrs-3.0.6.Final.jar:]
>      at
> org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:234)
> [resteasy-jaxrs-3.0.6.Final.jar:]
>      at
> org.jboss.resteasy.core.ResourceLocatorInvoker.invokeOnTargetObject(ResourceLocatorInvoker.java:140)
> [resteasy-jaxrs-3.0.6.Final.jar:]
>      at
> org.jboss.resteasy.core.ResourceLocatorInvoker.invoke(ResourceLocatorInvoker.java:103)
> [resteasy-jaxrs-3.0.6.Final.jar:]
>      at
> org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:356)
> [resteasy-jaxrs-3.0.6.Final.jar:]
>      at
> org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:179)
> [resteasy-jaxrs-3.0.6.Final.jar:]
>      at
> org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:220)
> [resteasy-jaxrs-3.0.6.Final.jar:]
>      at
> org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
> [resteasy-jaxrs-3.0.6.Final.jar:]
>      at
> org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
> [resteasy-jaxrs-3.0.6.Final.jar:]
>      at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
> [jboss-servlet-api_3.1_spec-1.0.0.Final.jar:1.0.0.Final]
>      at
> io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:87)
> [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30]
>      at
> io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:130)
> [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30]
>      at
> org.keycloak.services.filters.KeycloakSessionServletFilter.doFilter(KeycloakSessionServletFilter.java:36)
> [keycloak-services-1.0-alpha-1.jar:]
>      at
> io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:56)
> [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30]
>      at
> io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132)
> [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30]
>      at
> io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:85)
> [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30]
>      at
> io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61)
> [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30]
>      at
> io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
> [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30]
>      at
> org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:70)
>      at
> io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
> [undertow-core-1.0.0.Beta30.jar:1.0.0.Beta30]
>      at
> io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:113)
> [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30]
>      at
> io.undertow.security.handlers.AuthenticationCallHandler.handleRequest(AuthenticationCallHandler.java:52)
> [undertow-core-1.0.0.Beta30.jar:1.0.0.Beta30]
>      at
> io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:51)
> [undertow-core-1.0.0.Beta30.jar:1.0.0.Beta30]
>      at
> io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45)
> [undertow-core-1.0.0.Beta30.jar:1.0.0.Beta30]
>      at
> io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:61)
> [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30]
>      at
> io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:56)
> [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30]
>      at
> io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:67)
> [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30]
>      at
> io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:70)
> [undertow-core-1.0.0.Beta30.jar:1.0.0.Beta30]
>      at
> io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
> [undertow-core-1.0.0.Beta30.jar:1.0.0.Beta30]
>      at
> org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
>      at
> io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
> [undertow-core-1.0.0.Beta30.jar:1.0.0.Beta30]
>      at
> io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
> [undertow-core-1.0.0.Beta30.jar:1.0.0.Beta30]
>      at
> io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:240)
> [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30]
>      at
> io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)
> [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30]
>      at
> io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:73)
> [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30]
>      at
> io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:146)
> [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30]
>      at
> io.undertow.server.Connectors.executeRootHandler(Connectors.java:164)
> [undertow-core-1.0.0.Beta30.jar:1.0.0.Beta30]
>      at
> io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:654)
> [undertow-core-1.0.0.Beta30.jar:1.0.0.Beta30]
>      at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> [rt.jar:1.7.0_45]
>      at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> [rt.jar:1.7.0_45]
>      at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_45]
> Caused by: java.lang.reflect.InvocationTargetException
>      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [rt.jar:1.7.0_45]
>      at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> [rt.jar:1.7.0_45]
>      at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> [rt.jar:1.7.0_45]
>      at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_45]
>      at
> freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:866)
> [freemarker-2.3.19.jar:2.3.19]
>      at
> freemarker.ext.beans.BeanModel.invokeThroughDescriptor(BeanModel.java:277)
> [freemarker-2.3.19.jar:2.3.19]
>      at freemarker.ext.beans.BeanModel.get(BeanModel.java:184)
> [freemarker-2.3.19.jar:2.3.19]
>      ... 78 more
> Caused by: java.lang.IllegalArgumentException: No @Path annotated method
> for org.keycloak.services.resources.admin.AdminService.registerPage
>      at
> org.jboss.resteasy.specimpl.ResteasyUriBuilder.path(ResteasyUriBuilder.java:394)
> [resteasy-jaxrs-3.0.6.Final.jar:]
>      at
> org.keycloak.services.resources.flows.Urls.saasRegisterPage(Urls.java:152)
> [keycloak-services-1.0-alpha-1.jar:]
>      at org.keycloak.forms.UrlBean.getRegistrationUrl(UrlBean.java:92)
> [keycloak-forms-1.0-alpha-1.jar:]
>      ... 85 more
>
> --
> Edem Morny
>
> ====================
> http://edemmorny.wordpress.com
>
>
> _______________________________________________
> keycloak-user mailing list
> keycloak-user at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/keycloak-user
>

-- 
Bill Burke
JBoss, a division of Red Hat
http://bill.burkecentral.com


More information about the keycloak-user mailing list