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

Reply via email to