OpenIdentityPlatform/OpenIDM

Admin-Password cannot be changed via self-service ui

ghmer opened this issue · 1 comments

ghmer commented

Describe the bug
You cannot change the openidm-admin password via the ui. If you try, you encounter an error on the ui and the console throws an Exception.

To Reproduce
Steps to reproduce the behavior:

  1. logon to http://domain.tld:8080/auth with openidm-admin:openidm-admin
  2. Click on 'MENU-->SELF-SERVICE'
  3. Click on 'MENU-->CHANGE PASSWORD'
  4. Enter a new password and click on "UPDATE
  5. Get an error message.

Further, the console gives the following exception:
Resource exception: 500 Internal Server Error: "ReferenceError: "openidm" is not defined. (file:/opt/openidm/bin/defaults/script/crypto.js#31) in file:/opt/openidm/bin/defaults/script/crypto.js at line number 31 at column number 0" org.forgerock.json.resource.InternalServerErrorException: ReferenceError: "openidm" is not defined. (file:/opt/openidm/bin/defaults/script/crypto.js#31) in file:/opt/openidm/bin/defaults/script/crypto.js at line number 31 at column number 0 at org.forgerock.json.resource.ResourceException.newResourceException(ResourceException.java:239) at org.forgerock.json.resource.ResourceException.getException(ResourceException.java:330) at org.forgerock.script.engine.Utils.adapt(Utils.java:261) at org.forgerock.openidm.filter.ScriptedFilter.evalScript(ScriptedFilter.java:325) at org.forgerock.openidm.filter.ScriptedFilter.evaluateOnRequest(ScriptedFilter.java:230) at org.forgerock.openidm.filter.ScriptedFilter.filterRequest(ScriptedFilter.java:190) at org.forgerock.openidm.filter.ScriptedFilter.filterUpdate(ScriptedFilter.java:148) at org.forgerock.json.resource.Filters$ConditionalFilter.filterUpdate(Filters.java:110) at org.forgerock.json.resource.FilterChain$Cursor.handleUpdate(FilterChain.java:121) at org.forgerock.openidm.filter.ScriptedFilter$6.apply(ScriptedFilter.java:152) at org.forgerock.openidm.filter.ScriptedFilter$6.apply(ScriptedFilter.java:149) at org.forgerock.util.promise.Promises$CompletedPromise.thenAsync(Promises.java:255) at org.forgerock.util.promise.Promises$CompletedPromise.thenAsync(Promises.java:244) at org.forgerock.util.promise.Promises$CompletedPromise.thenAsync(Promises.java:223) at org.forgerock.openidm.filter.ScriptedFilter.filterRequest(ScriptedFilter.java:192) at org.forgerock.openidm.filter.ScriptedFilter.filterUpdate(ScriptedFilter.java:148) at org.forgerock.json.resource.Filters$ConditionalFilter.filterUpdate(Filters.java:110) at org.forgerock.json.resource.FilterChain$Cursor.handleUpdate(FilterChain.java:121) at org.forgerock.openidm.filter.ScriptedFilter$6.apply(ScriptedFilter.java:152) at org.forgerock.openidm.filter.ScriptedFilter$6.apply(ScriptedFilter.java:149) at org.forgerock.util.promise.Promises$CompletedPromise.thenAsync(Promises.java:255) at org.forgerock.util.promise.Promises$CompletedPromise.thenAsync(Promises.java:244) at org.forgerock.util.promise.Promises$CompletedPromise.thenAsync(Promises.java:223) at org.forgerock.openidm.filter.ScriptedFilter.filterRequest(ScriptedFilter.java:192) at org.forgerock.openidm.filter.ScriptedFilter.filterUpdate(ScriptedFilter.java:148) at org.forgerock.json.resource.Filters$ConditionalFilter.filterUpdate(Filters.java:110) at org.forgerock.json.resource.FilterChain$Cursor.handleUpdate(FilterChain.java:121) at org.forgerock.openidm.audit.filter.AuditFilter$7.apply(AuditFilter.java:230) at org.forgerock.openidm.audit.filter.AuditFilter$7.apply(AuditFilter.java:227) at org.forgerock.util.promise.Promises$CompletedPromise.thenAsync(Promises.java:255) at org.forgerock.util.promise.Promises$CompletedPromise.thenAsync(Promises.java:244) at org.forgerock.util.promise.Promises$CompletedPromise.thenAsync(Promises.java:223) at org.forgerock.openidm.audit.filter.AuditFilter.logAuditAccessEntry(AuditFilter.java:255) at org.forgerock.openidm.audit.filter.AuditFilter.filterUpdate(AuditFilter.java:226) at org.forgerock.openidm.filter.MutableFilterDecorator.filterUpdate(MutableFilterDecorator.java:110) at org.forgerock.json.resource.Filters$ConditionalFilter.filterUpdate(Filters.java:110) at org.forgerock.json.resource.FilterChain$Cursor.handleUpdate(FilterChain.java:121) at org.forgerock.openidm.servlet.internal.ServletConnectionFactory$4.filterUpdate(ServletConnectionFactory.java:489) at org.forgerock.json.resource.FilterChain$Cursor.handleUpdate(FilterChain.java:121) at org.forgerock.openidm.filter.PassthroughFilter.filterUpdate(PassthroughFilter.java:86) at org.forgerock.openidm.filter.MutableFilterDecorator.filterUpdate(MutableFilterDecorator.java:110) at org.forgerock.json.resource.FilterChain$Cursor.handleUpdate(FilterChain.java:121) at org.forgerock.openidm.filter.PassthroughFilter.filterUpdate(PassthroughFilter.java:86) at org.forgerock.openidm.filter.MutableFilterDecorator.filterUpdate(MutableFilterDecorator.java:110) at org.forgerock.json.resource.FilterChain$Cursor.handleUpdate(FilterChain.java:121) at org.forgerock.json.resource.FilterChain.handleUpdate(FilterChain.java:266) at org.forgerock.json.resource.InternalConnection.updateAsync(InternalConnection.java:100) at org.forgerock.json.resource.AbstractConnectionWrapper.updateAsync(AbstractConnectionWrapper.java:229) at org.forgerock.openidm.servlet.internal.ServletConnectionFactory$1$1.updateAsync(ServletConnectionFactory.java:275) at org.forgerock.json.resource.http.RequestRunner.visitUpdateRequest(RequestRunner.java:352) at org.forgerock.json.resource.http.RequestRunner.visitUpdateRequest(RequestRunner.java:93) at org.forgerock.json.resource.Requests$UpdateRequestImpl.accept(Requests.java:622) at org.forgerock.json.resource.http.RequestRunner.handleResult(RequestRunner.java:139) at org.forgerock.json.resource.http.HttpAdapter$1.apply(HttpAdapter.java:711) at org.forgerock.json.resource.http.HttpAdapter$1.apply(HttpAdapter.java:708) at org.forgerock.util.promise.Promises$CompletedPromise.thenAsync(Promises.java:255) at org.forgerock.util.promise.Promises$CompletedPromise.thenAsync(Promises.java:244) at org.forgerock.json.resource.http.HttpAdapter.doRequest(HttpAdapter.java:708) at org.forgerock.json.resource.http.HttpAdapter.doUpdate(HttpAdapter.java:653) at org.forgerock.json.resource.http.HttpAdapter.handle(HttpAdapter.java:270) at org.forgerock.http.handler.Handlers$HandlerDescribableAsDescribableHandler.handle(Handlers.java:154) at org.forgerock.http.filter.OptionsFilter.filter(OptionsFilter.java:77) at org.forgerock.http.handler.Handlers$1.handle(Handlers.java:61) at org.forgerock.http.swagger.OpenApiRequestFilter.filter(OpenApiRequestFilter.java:69) at org.forgerock.http.handler.Handlers$1.handle(Handlers.java:61) at org.forgerock.caf.authentication.framework.AuthenticationFramework.grantAccess(AuthenticationFramework.java:220) at org.forgerock.caf.authentication.framework.AuthenticationFramework.access$400(AuthenticationFramework.java:65) at org.forgerock.caf.authentication.framework.AuthenticationFramework$3.apply(AuthenticationFramework.java:212) at org.forgerock.caf.authentication.framework.AuthenticationFramework$3.apply(AuthenticationFramework.java:205) at org.forgerock.util.promise.Promises$CompletedPromise.thenAsync(Promises.java:255) at org.forgerock.util.promise.Promises$CompletedPromise.thenAsync(Promises.java:244) at org.forgerock.caf.authentication.framework.AuthenticationFramework.validateRequest(AuthenticationFramework.java:170) at org.forgerock.caf.authentication.framework.AuthenticationFramework.access$100(AuthenticationFramework.java:65) at org.forgerock.caf.authentication.framework.AuthenticationFramework$1.apply(AuthenticationFramework.java:155) at org.forgerock.caf.authentication.framework.AuthenticationFramework$1.apply(AuthenticationFramework.java:152) at org.forgerock.util.promise.PromiseImpl$7.handleStateChange(PromiseImpl.java:485) at org.forgerock.util.promise.PromiseImpl.handleCompletion(PromiseImpl.java:567) at org.forgerock.util.promise.PromiseImpl.addOrFireListener(PromiseImpl.java:555) at org.forgerock.util.promise.PromiseImpl.thenAsync(PromiseImpl.java:477) at org.forgerock.util.promise.PromiseImpl.thenAsync(PromiseImpl.java:468) at org.forgerock.caf.authentication.framework.AuthenticationFramework.processMessage(AuthenticationFramework.java:147) at org.forgerock.caf.authentication.framework.AuthenticationFilter.filter(AuthenticationFilter.java:96) at org.forgerock.openidm.auth.AuthFilterWrapper.filter(AuthFilterWrapper.java:90) at org.forgerock.http.handler.Handlers$1.handle(Handlers.java:61) at org.forgerock.http.filter.TransactionIdInboundFilter.filter(TransactionIdInboundFilter.java:60) at org.forgerock.http.handler.Handlers$1.handle(Handlers.java:61) at org.forgerock.http.servlet.HttpFrameworkServlet.service(HttpFrameworkServlet.java:237) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669) at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:83) at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:301) at sun.reflect.GeneratedMethodAccessor66.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.forgerock.openidm.servletregistration.impl.ServletRegistrationSingleton$FilterProxy.invoke(ServletRegistrationSingleton.java:299) at com.sun.proxy.$Proxy39.doFilter(Unknown Source) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:257) at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:220) at sun.reflect.GeneratedMethodAccessor66.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.forgerock.openidm.servletregistration.impl.ServletRegistrationSingleton$FilterProxy.invoke(ServletRegistrationSingleton.java:299) at com.sun.proxy.$Proxy39.doFilter(Unknown Source) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:72) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:287) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:499) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:258) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Thread.java:748) Caused by: javax.script.ScriptException: ReferenceError: "openidm" is not defined. (file:/opt/openidm/bin/defaults/script/crypto.js#31) in file:/opt/openidm/bin/defaults/script/crypto.js at line number 31 at column number 0 at org.forgerock.script.javascript.RhinoScript.eval(RhinoScript.java:342) at sun.reflect.GeneratedMethodAccessor67.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.forgerock.script.registry.ScriptRegistryImpl$LibraryRecord.invoke(ScriptRegistryImpl.java:505) at com.sun.proxy.$Proxy23.eval(Unknown Source) at org.forgerock.script.registry.ScriptRegistryImpl$ScriptImpl.eval(ScriptRegistryImpl.java:741) at org.forgerock.script.registry.ScriptRegistryImpl$ScriptImpl.eval(ScriptRegistryImpl.java:752) at org.forgerock.openidm.filter.ScriptedFilter.evalScript(ScriptedFilter.java:322) ... 122 more Caused by: org.mozilla.javascript.EcmaError: ReferenceError: "openidm" is not defined. (file:/opt/openidm/bin/defaults/script/crypto.js#31) at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3687) at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3665) at org.mozilla.javascript.ScriptRuntime.notFoundError(ScriptRuntime.java:3750) at org.mozilla.javascript.ScriptRuntime.nameOrFunction(ScriptRuntime.java:1794) at org.mozilla.javascript.ScriptRuntime.name(ScriptRuntime.java:1733) at org.mozilla.javascript.gen.file__opt_openidm_bin_defaults_script_crypto_js_63._c_anonymous_2(file:/opt/openidm/bin/defaults/script/crypto.js:31) at org.mozilla.javascript.gen.file__opt_openidm_bin_defaults_script_crypto_js_63.call(file:/opt/openidm/bin/defaults/script/crypto.js) at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:63) at org.mozilla.javascript.gen.file__opt_openidm_bin_defaults_script_crypto_js_63._c_anonymous_4(file:/opt/openidm/bin/defaults/script/crypto.js:48) at org.mozilla.javascript.gen.file__opt_openidm_bin_defaults_script_crypto_js_63.call(file:/opt/openidm/bin/defaults/script/crypto.js) at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32) at org.mozilla.javascript.gen._633C5C3E15065BF2D4D3AD9ECD72A57AFF2D8258_57._c_script_0(633C5C3E15065BF2D4D3AD9ECD72A57AFF2D8258:1) at org.mozilla.javascript.gen._633C5C3E15065BF2D4D3AD9ECD72A57AFF2D8258_57.call(633C5C3E15065BF2D4D3AD9ECD72A57AFF2D8258) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091) at org.mozilla.javascript.gen._633C5C3E15065BF2D4D3AD9ECD72A57AFF2D8258_57.call(633C5C3E15065BF2D4D3AD9ECD72A57AFF2D8258) at org.mozilla.javascript.gen._633C5C3E15065BF2D4D3AD9ECD72A57AFF2D8258_57.exec(633C5C3E15065BF2D4D3AD9ECD72A57AFF2D8258) at org.forgerock.script.javascript.RhinoScript.eval(RhinoScript.java:316) ... 130 more

Versions tested:

  • openidm 5.5.0 with openjdk8. Above error occurs
  • openidm 4.0.0 with openjdk8. NO error, the process works as indended.