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