Hi All, I observe the "AuthenticationHandler not found exception"[1] when the dashboard jaggery app calls[2] the backend REST services over the HTTPS. By debugging, we found that this issue occurs only when the carbon server is started with the hostname verification enable mode. If the hostname verification is enabled the jaggery app does not send the client certificate along with the request. If there is no any client certification in the request the AuthenticationHandler reject the request and throws the exception[1]. When I disable the hostname verification, the jaggery app sends the client certificate along with the request and then the AuthenticationHandler will process the request.
Any thoughts how to solve this issue? [1] TID: [-1234] [] [2016-11-29 13:05:36,332] ERROR {org.wso2.carbon.tomcat.ext.valves.CompositeValve} - Could not handle request: /api/appm/publisher/v1.1/roles org.wso2.carbon.identity.auth.service.exception.AuthRuntimeException: AuthenticationHandler not found. at org.wso2.carbon.identity.auth.service.AuthenticationManager.authenticate(AuthenticationManager.java:101) at org.wso2.carbon.identity.auth.valve.AuthenticationValve.invoke(AuthenticationValve.java:75) at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99) at org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47) at org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:57) at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47) at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62) at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:442) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1082) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:623) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1756) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1715) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) TID: [-1234] [] [2016-11-29 13:05:36,338] ERROR {JAGGERY.serviceproviders.custom.controllers.custom.getRoles:jag} - org.mozilla.javascript.EcmaError: TypeError: Cannot read property "roleIds" from null (/dashboard/serviceproviders/custom/controllers/custom/getRoles.jag#15) at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3687) at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3665) at org.mozilla.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3693) at org.mozilla.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3712) at org.mozilla.javascript.ScriptRuntime.undefReadError(ScriptRuntime.java:3725) at org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1483) at org.jaggeryjs.rhino.dashboard.serviceproviders.custom.controllers.custom.c5._c_getRoles_1(/dashboard/serviceproviders/custom/controllers/custom/getRoles.jag:15) at org.jaggeryjs.rhino.dashboard.serviceproviders.custom.controllers.custom.c5.call(/dashboard/serviceproviders/custom/controllers/custom/getRoles.jag) at org.mozilla.javascript.optimizer.OptRuntime.callName0(OptRuntime.java:74) at org.jaggeryjs.rhino.dashboard.serviceproviders.custom.controllers.custom.c5._c_script_0(/dashboard/serviceproviders/custom/controllers/custom/getRoles.jag:6) at org.jaggeryjs.rhino.dashboard.serviceproviders.custom.controllers.custom.c5.call(/dashboard/serviceproviders/custom/controllers/custom/getRoles.jag) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394) [2] https://github.com/wso2-extensions/identity-cloud/blob/master/jaggeryapps/dashboard/modules/appManagementClient.js#L126 Regards, Sajith. -- *Sajith Abeywardhana* | Software Engineer WSO2, Inc | lean. enterprise. middleware. #20, Palm Grove, Colombo 03, Sri Lanka. Mobile: +94772260485 Email: saji...@wso2.com | Web: www.wso2.com
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev