Get hands-on experience with 20+ free Google Cloud products and $300 in free credit for new customers.

JAAS Unknown error null on private cloud during External Authentication configuration

This is for the Apigee private cloud version 4.18.05. Ideally we would like to use a non-email based login, but username is of the form <domain>\<username>. Not sure if "\" is allowed? Meanwhile, we tried proceeding with the email address, for now.

Followed instructions as per https://docs.apigee.com/private-cloud/v4.18.05/enabling-external-authentication. We have tried both direct and indirect types and getting the same error. Took a tcpdump and looks like the authentication against LDAP is working fine (as I can see the AD attributes in the trace), but the UI fails at getting the userroles, which presumably is the next step. Below is the exception:

2018-08-15 13:29:11,007 [ERROR] from application in application-akka.actor.default-dispatcher-76 - Error response from Gateway:
Action: GET
URL: http://***:8080/v1/users/***/userroles
Headers:
  Accept: [application/xml]
  X-Apigee-Trace-Id: [40c9ad0a-77b4-418c-8cd6-b5cf1a66bde3]
  X-Apigee-App-Id: [classic]
  X-Apigee-App-Version: [4.18.01.00]
Response Status Code: 500
Response Body:
  {"code": "JAAS Unknown error null", "message": "Internal Server Error. Please contact support."}
Headers:
  Date: [Wed, 15 Aug 2018 12:29:10 GMT, Wed, 15 Aug 2018 12:29:11 GMT]
  Content-Type: [application/json]
  X-Apigee.user: [***]
  X-Apigee.organization: [null]
  Content-Length: [96]

2018-08-15 13:29:11,008 [ERROR] from play.core.server.netty.PlayDefaultUpstreamHandler in application-akka.actor.default-dispatcher-76 - Cannot invoke the action
utils.GatewayErrorResponseException: null
        at utils.WsHelper.logAndBuildExceptionForGatewayErrorResponse(WsHelper.java:113) ~[enterpriseui.enterpriseui-4.18.01.00-899f255-20180119-124019-sans-externalized.jar:na]
        at utils.Play2Utils$HandleError.apply(Play2Utils.java:41) ~[enterpriseui.enterpriseui-4.18.01.00-899f255-20180119-124019-sans-externalized.jar:na]
        at utils.Play2Utils$HandleError.apply(Play2Utils.java:29) ~[enterpriseui.enterpriseui-4.18.01.00-899f255-20180119-124019-sans-externalized.jar:na]
        at play.core.j.FPromiseHelper$$anonfun$map$1.apply(FPromiseHelper.scala:103) ~[com.typesafe.play.play_2.11-2.4.8.jar:2.4.8]
        at scala.util.Success$$anonfun$map$1.apply(Try.scala:236) ~[org.scala-lang.scala-library-2.11.6.jar:na]
        at scala.util.Try$.apply(Try.scala:191) ~[org.scala-lang.scala-library-2.11.6.jar:na]
        at scala.util.Success.map(Try.scala:236) ~[org.scala-lang.scala-library-2.11.6.jar:na]
        at scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:235) ~[org.scala-lang.scala-library-2.11.6.jar:na]
        at scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:235) ~[org.scala-lang.scala-library-2.11.6.jar:na]
        at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) ~[org.scala-lang.scala-library-2.11.6.jar:na]
        at play.core.j.HttpExecutionContext$$anon$2.run(HttpExecutionContext.scala:40) ~[com.typesafe.play.play_2.11-2.4.8.jar:2.4.8]
        at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:40) [com.typesafe.akka.akka-actor_2.11-2.3.13.jar:na]
        at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397) [com.typesafe.akka.akka-actor_2.11-2.3.13.jar:na]
        at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) [org.scala-lang.scala-library-2.11.6.jar:na]
        at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) [org.scala-lang.scala-library-2.11.6.jar:na]
        at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) [org.scala-lang.scala-library-2.11.6.jar:na]
        at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) [org.scala-lang.scala-library-2.11.6.jar:na]

Also, any management API invocation fails with the below stack trace:

2018-08-15 13:29:11,002  qtp768776793-39 ERROR REST - Authorizer.beforeInvocation() : beforeInvocation: Internal Server Error while trying to authorize user: ***null
java.lang.NullPointerException: null
        at com.apigee.security.providers.AccessController.postLogIn(AccessController.java:131) ~[security-1.0.0.jar:na]
        at com.apigee.rest.framework.security.Authorizer.beforeInvocation(Authorizer.java:290) ~[rest-1.0.0.jar:na]
        at com.apigee.rest.framework.CustomJAXRSInvoker.beforeInvocation(CustomJAXRSInvoker.java:164) [rest-1.0.0.jar:na]
        at com.apigee.rest.framework.CustomJAXRSInvoker.performInvocation(CustomJAXRSInvoker.java:119) [rest-1.0.0.jar:na]
        at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:89) [cxf-rt-core-2.4.7.jar:2.4.7]
        at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:165) [cxf-rt-frontend-jaxrs-2.4.7.jar:2.4.7]
        at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:241) [cxf-rt-frontend-jaxrs-2.4.7.jar:2.4.7]
        at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:241) [cxf-rt-frontend-jaxrs-2.4.7.jar:2.4.7]
        at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:92) [cxf-rt-frontend-jaxrs-2.4.7.jar:2.4.7]
        at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58) [cxf-rt-core-2.4.7.jar:2.4.7]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_121]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_121]
        at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37) [cxf-rt-core-2.4.7.jar:2.4.7]
        at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106) [cxf-rt-core-2.4.7.jar:2.4.7]
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263) [cxf-api-2.4.7.jar:2.4.7]
        at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) [cxf-rt-core-2.4.7.jar:2.4.7]
        at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:232) [cxf-rt-transports-http-2.4.10.jar:2.4.7]
        at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:209) [cxf-rt-transports-http-2.4.10.jar:2.4.10]
        at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:152) [cxf-rt-transports-http-2.4.10.jar:2.4.10]
        at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:114) [cxf-rt-transports-http-2.4.10.jar:2.4.10]
        at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:185) [cxf-rt-transports-http-2.4.10.jar:2.4.10]
        at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:113) [cxf-rt-transports-http-2.4.10.jar:2.4.10]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) [javax.servlet-api-3.1.0.jar:3.1.0]
        at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:164) [cxf-rt-transports-http-2.4.10.jar:2.4.10]
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:830) [jetty-servlet-9.4.0.v20161208.jar:9.4.0.v20161208]
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:543) [jetty-servlet-9.4.0.v20161208.jar:9.4.0.v20161208]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [jetty-server-9.4.0.v20161208.jar:9.4.0.v20161208]
        at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:530) [jetty-server-9.4.0.v20161208.jar:9.4.0.v20161208]
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) [jetty-security-9.4.0.v20161208.jar:9.4.0.v20161208]
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) [jetty-server-9.4.0.v20161208.jar:9.4.0.v20161208]
        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190) [jetty-server-9.4.0.v20161208.jar:9.4.0.v20161208]
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1584) [jetty-server-9.4.0.v20161208.jar:9.4.0.v20161208]
        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188) [jetty-server-9.4.0.v20161208.jar:9.4.0.v20161208]
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1228) [jetty-server-9.4.0.v20161208.jar:9.4.0.v20161208]
        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168) [jetty-server-9.4.0.v20161208.jar:9.4.0.v20161208]
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:481) [jetty-servlet-9.4.0.v20161208.jar:9.4.0.v20161208]
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1553) [jetty-server-9.4.0.v20161208.jar:9.4.0.v20161208]
        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166) [jetty-server-9.4.0.v20161208.jar:9.4.0.v20161208]
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1130) [jetty-server-9.4.0.v20161208.jar:9.4.0.v20161208]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [jetty-server-9.4.0.v20161208.jar:9.4.0.v20161208]
        at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213) [jetty-server-9.4.0.v20161208.jar:9.4.0.v20161208]
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) [jetty-server-9.4.0.v20161208.jar:9.4.0.v20161208]
        at org.eclipse.jetty.server.Server.handle(Server.java:564) [jetty-server-9.4.0.v20161208.jar:9.4.0.v20161208]
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:318) [jetty-server-9.4.0.v20161208.jar:9.4.0.v20161208]
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) [jetty-server-9.4.0.v20161208.jar:9.4.0.v20161208]
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279) [jetty-io-9.4.0.v20161208.jar:9.4.0.v20161208]
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:112) [jetty-io-9.4.0.v20161208.jar:9.4.0.v20161208]
        at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124) [jetty-io-9.4.0.v20161208.jar:9.4.0.v20161208]
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:672) [jetty-util-9.4.0.v20161208.jar:9.4.0.v20161208]
        at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:590) [jetty-util-9.4.0.v20161208.jar:9.4.0.v20161208]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_121]
2018-08-15 13:29:11,003  qtp768776793-39 ERROR REST - CustomJAXRSInvoker.performInvocation() : CustomJAXRSInvoker.performInvocation : Method com.apigee.security.usermanagement.UserManager.getRolesForUser threw an exception.
com.apigee.rest.framework.security.JAASRuntimeException: JAAS Unknown error null
        at com.apigee.rest.framework.security.Authorizer.beforeInvocation(Authorizer.java:349) ~[rest-1.0.0.jar:na]
        at com.apigee.rest.framework.CustomJAXRSInvoker.beforeInvocation(CustomJAXRSInvoker.java:164) ~[rest-1.0.0.jar:na]
        at com.apigee.rest.framework.CustomJAXRSInvoker.performInvocation(CustomJAXRSInvoker.java:119) ~[rest-1.0.0.jar:na]
        at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:89) [cxf-rt-core-2.4.7.jar:2.4.7]
        at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:165) [cxf-rt-frontend-jaxrs-2.4.7.jar:2.4.7]
        at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:241) [cxf-rt-frontend-jaxrs-2.4.7.jar:2.4.7]
        at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:241) [cxf-rt-frontend-jaxrs-2.4.7.jar:2.4.7]
        at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:92) [cxf-rt-frontend-jaxrs-2.4.7.jar:2.4.7]
        at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58) [cxf-rt-core-2.4.7.jar:2.4.7]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_121]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_121]
        at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37) [cxf-rt-core-2.4.7.jar:2.4.7]
        at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106) [cxf-rt-core-2.4.7.jar:2.4.7]
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263) [cxf-api-2.4.7.jar:2.4.7]
        at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) [cxf-rt-core-2.4.7.jar:2.4.7]
        at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:232) [cxf-rt-transports-http-2.4.10.jar:2.4.7]
        at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:209) [cxf-rt-transports-http-2.4.10.jar:2.4.10]
        at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:152) [cxf-rt-transports-http-2.4.10.jar:2.4.10]
        at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:114) [cxf-rt-transports-http-2.4.10.jar:2.4.10]
        at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:185) [cxf-rt-transports-http-2.4.10.jar:2.4.10]

Any advise, appreciated.

Thanks,

Girish

Solved Solved
0 2 493
1 ACCEPTED SOLUTION

My advice is to contact support to report this error message.

View solution in original post

2 REPLIES 2

My advice is to contact support to report this error message.

@Dino-at-Google Will get in touch with the support tea, Thanks for the advise.