-
Bug
-
Resolution: Done
-
Major
-
1.1.11.Final
When the EJB server is running in standard http (80) or https (443) port the digest uri used for authentication is generated with port -1 if the port is not specified. This triggers error in the subsequent authentication as the URI seen by the server is different to the one in the request (this check is done in the server inside elytron code). Generating this error at server side:
TRACE [org.wildfly.security] (default task-2) Handling AuthenticationCompleteCallback: fail DEBUG [io.undertow.request.security] (default task-2) Authentication failed with message ELY05169: [DIGEST] Clients response token does not match expected token and mechanism DIGEST for HttpServerExchange{ POST /wildfly-services/ejb/v1/open/-/ROOT/-/CounterBean}
In the client side the request just fails with error 400 (bad request):
java.io.IOException: WFHTTP000005: Invalid response code 400 (full response ClientResponse{responseHeaders={content-length=[76], content-type=[text/html], date=[Fri, 27 May 2022 07:04:15 GMT]}, responseCode=400, status='', protocol=HTTP/2.0}) at org.wildfly.httpclient.common.HttpTargetContext$2$1.lambda$completed$4(HttpTargetContext.java:247) at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35) at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377) at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1280) at java.base/java.lang.Thread.run(Thread.java:829)
In my EJB example the URI sent by the client in the digest auth is: http://localhost:-1/wildfly-services/ejb/v1/open/-/ROOT/-/CounterBean. Note the -1 instead of none (80).
- is caused by
-
WEJBHTTP-65 PoolAuthenticationContext incompatible with Elytron Web 1.9.2.Final
- Resolved
- is incorporated by
-
JBEAP-23622 [QE](7.4.z) WEJBHTTP-80 - Ejb over http and picketbox stop working with ejb client bom 7.4.3.GA on port 80
- Closed
-
WFLY-16440 Upgrade wildfly-http-ejb-client to 1.1.12.Final
- Closed
- mentioned on