Skip to content

appleid.apple.com:443 failed to respond #116

@manologg

Description

@manologg

Keycloak Version
26.4.2

Extension Version
1.16.0

Describe the bug

Sometimes I'm getting this error in Keycloak logs:

  • exception.exceptionType:
    org.apache.http.NoHttpResponseException

  • exception.frames.class:
    org.apache.http.impl.conn.DefaultHttpResponseParser, org.apache.http.impl.conn.DefaultHttpResponseParser, org.apache.http.impl.io.AbstractMessageParser, org.apache.http.impl.DefaultBHttpClientConnection, org.apache.http.impl.conn.CPoolProxy, org.apache.http.protocol.HttpRequestExecutor, org.apache.http.protocol.HttpRequestExecutor, org.apache.http.impl.execchain.MainClientExec, org.apache.http.impl.execchain.ProtocolExec, org.apache.http.impl.execchain.RetryExec, org.apache.http.impl.execchain.RedirectExec, org.apache.http.impl.client.InternalHttpClient, org.apache.http.impl.client.CloseableHttpClient, org.apache.http.impl.client.CloseableHttpClient, org.apache.http.impl.client.CloseableHttpClient, org.keycloak.broker.provider.util.SimpleHttp, org.keycloak.broker.provider.util.SimpleHttp, at.klausbetz.provider.AppleIdentityProvider, at.klausbetz.provider.AppleIdentityProviderEndpoint, jdk.internal.reflect.GeneratedMethodAccessor416, jdk.internal.reflect.DelegatingMethodAccessorImpl, java.lang.reflect.Method, org.jboss.resteasy.core.MethodInjectorImpl, org.jboss.resteasy.core.MethodInjectorImpl, org.jboss.resteasy.core.ResourceMethodInvoker, org.jboss.resteasy.core.ResourceMethodInvoker, org.jboss.resteasy.core.ResourceMethodInvoker, org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext, org.jboss.resteasy.core.ResourceMethodInvoker, org.jboss.resteasy.core.ResourceMethodInvoker, org.jboss.resteasy.core.ResourceLocatorInvoker, org.jboss.resteasy.core.ResourceLocatorInvoker, org.jboss.resteasy.core.ResourceLocatorInvoker, org.jboss.resteasy.core.ResourceLocatorInvoker, org.jboss.resteasy.core.ResourceLocatorInvoker, org.jboss.resteasy.core.SynchronousDispatcher, org.jboss.resteasy.core.SynchronousDispatcher, org.jboss.resteasy.core.SynchronousDispatcher, org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext, org.jboss.resteasy.core.SynchronousDispatcher, org.jboss.resteasy.core.SynchronousDispatcher, io.quarkus.resteasy.runtime.standalone.RequestDispatcher, io.quarkus.resteasy.runtime.standalone.VertxRequestHandler, io.quarkus.resteasy.runtime.standalone.VertxRequestHandler, io.quarkus.resteasy.runtime.standalone.VertxRequestHandler, io.vertx.ext.web.impl.RouteState, io.vertx.ext.web.impl.RoutingContextImplBase, io.vertx.ext.web.impl.RoutingContextWrapper, io.quarkus.vertx.http.runtime.StaticResourcesRecorder$2, io.quarkus.vertx.http.runtime.StaticResourcesRecorder$2, io.vertx.ext.web.impl.RouteState, io.vertx.ext.web.impl.RoutingContextImplBase, io.vertx.ext.web.impl.RoutingContextWrapper, io.quarkus.vertx.http.runtime.VertxHttpRecorder$6, io.quarkus.vertx.http.runtime.VertxHttpRecorder$6, io.vertx.ext.web.impl.RouteState, io.vertx.ext.web.impl.RoutingContextImplBase, io.vertx.ext.web.impl.RoutingContextWrapper, org.keycloak.quarkus.runtime.integration.web.QuarkusRequestFilter, io.quarkus.vertx.core.runtime.VertxCoreRecorder$14, org.jboss.threads.EnhancedQueueExecutor$Task, org.jboss.threads.EnhancedQueueExecutor$ThreadBody, org.jboss.threads.DelegatingRunnable, org.jboss.threads.ThreadLocalResettingRunnable, io.netty.util.concurrent.FastThreadLocalRunnable, java.lang.Thread

  • exception.frames.line:
    141, 56, 259, 163, 157, 273, 125, 272, 186, 89, 110, 185, 83, 108, 56, 292, 229, 117, 89, 43, 568, 170, 130, 660, 524, 474, 364, 476, 434, 192, 152, 183, 141, 32, 492, 261, 161, 364, 164, 247, 73, 151, 82, 42, 1,284, 173, 200, 84, 71, 1,284, 173, 200, 430, 408, 1,284, 173, 200, 82, 576, 2,449, 1,478, 29, 29, 30, 833

  • exception.frames.method:
    parseHead, parseHead, parse, receiveResponseHeader, receiveResponseHeader, doReceiveResponse, execute, execute, execute, execute, execute, doExecute, execute, execute, execute, makeRequest, asResponse, sendTokenRequest, authResponse, invoke, invoke, invoke, invoke, invoke, internalInvokeOnTarget, invokeOnTargetAfterFilter, lambda$invokeOnTarget$2, filter, invokeOnTarget, invoke, invokeOnTargetObject, invoke, invokeOnTargetObject, invoke, invoke, invoke, lambda$invoke$4, lambda$preprocess$0, filter, preprocess, invoke, service, dispatch, handle, handle, handleContext, iterateNext, next, handle, handle, handleContext, iterateNext, next, handle, handle, handleContext, iterateNext, next, lambda$createBlockingHandler$0, runWith, run, run, run, run, run, run

  • exception.message:
    appleid.apple.com:443 failed to respond

Expected behavior
The exception should be caught and the call to Apple should be retried. The way it is at the moment Keycloak responds with a 502, so users need to retry again login in with Apple.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions