wadahiro / keycloak-discord

Keycloak Identity Provider extension for Discord
123 stars 67 forks source link

SSL Handshake failed #36

Closed zelytra closed 1 year ago

zelytra commented 1 year ago

I try to test the extension on localhost and have setup a keycloak without certificate only localhost http. I bind to the discord OAuth, connect keycloak and discord and then try to login: image

Keycloak prompte this error:

ticketer-web-keycloak | 2023-06-27 11:28:49,456 ERROR [org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider] (executor-thread-99) Failed to make identity provider oauth callback: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
ticketer-web-keycloak |         at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131)
ticketer-web-keycloak |         at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:371)
ticketer-web-keycloak |         at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:314)
ticketer-web-keycloak |         at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:309)
ticketer-web-keycloak |         at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:654)
ticketer-web-keycloak |         at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:473)
ticketer-web-keycloak |         at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:369)
ticketer-web-keycloak |         at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:396)
ticketer-web-keycloak |         at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:480)
ticketer-web-keycloak |         at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:458)
ticketer-web-keycloak |         at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:201)
ticketer-web-keycloak |         at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:172)
ticketer-web-keycloak |         at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1510)
ticketer-web-keycloak |         at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1425)
ticketer-web-keycloak |         at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455)
ticketer-web-keycloak |         at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426)
ticketer-web-keycloak |         at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:436)
ticketer-web-keycloak |         at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:384)
ticketer-web-keycloak |         at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142)
ticketer-web-keycloak |         at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:376)
ticketer-web-keycloak |         at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393)
ticketer-web-keycloak |         at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
ticketer-web-keycloak |         at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
ticketer-web-keycloak |         at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
ticketer-web-keycloak |         at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
ticketer-web-keycloak |         at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
ticketer-web-keycloak |         at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
ticketer-web-keycloak |         at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
ticketer-web-keycloak |         at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
ticketer-web-keycloak |         at org.keycloak.broker.provider.util.SimpleHttp.makeRequest(SimpleHttp.java:278)
ticketer-web-keycloak |         at org.keycloak.broker.provider.util.SimpleHttp.asResponse(SimpleHttp.java:217)
ticketer-web-keycloak |         at org.keycloak.broker.provider.util.SimpleHttp.asString(SimpleHttp.java:209)
ticketer-web-keycloak |         at org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider$Endpoint.authResponse(AbstractOAuth2IdentityProvider.java:503)
ticketer-web-keycloak |         at jdk.internal.reflect.GeneratedMethodAccessor574.invoke(Unknown Source)
ticketer-web-keycloak |         at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
ticketer-web-keycloak |         at java.base/java.lang.reflect.Method.invoke(Method.java:568)
ticketer-web-keycloak |         at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:170)
ticketer-web-keycloak |         at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:130)
ticketer-web-keycloak |         at org.jboss.resteasy.core.ResourceMethodInvoker.internalInvokeOnTarget(ResourceMethodInvoker.java:660)
ticketer-web-keycloak |         at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTargetAfterFilter(ResourceMethodInvoker.java:524)
ticketer-web-keycloak |         at org.jboss.resteasy.core.ResourceMethodInvoker.lambda$invokeOnTarget$2(ResourceMethodInvoker.java:474)
ticketer-web-keycloak |         at org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:364)
ticketer-web-keycloak |         at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:476)
ticketer-web-keycloak |         at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:434)
ticketer-web-keycloak |         at org.jboss.resteasy.core.ResourceLocatorInvoker.invokeOnTargetObject(ResourceLocatorInvoker.java:192)
ticketer-web-keycloak |         at org.jboss.resteasy.core.ResourceLocatorInvoker.invoke(ResourceLocatorInvoker.java:152)
ticketer-web-keycloak |         at org.jboss.resteasy.core.ResourceLocatorInvoker.invokeOnTargetObject(ResourceLocatorInvoker.java:183)
ticketer-web-keycloak |         at org.jboss.resteasy.core.ResourceLocatorInvoker.invoke(ResourceLocatorInvoker.java:141)
ticketer-web-keycloak |         at org.jboss.resteasy.core.ResourceLocatorInvoker.invoke(ResourceLocatorInvoker.java:32)
ticketer-web-keycloak |         at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:492)
ticketer-web-keycloak |         at org.jboss.resteasy.core.SynchronousDispatcher.lambda$invoke$4(SynchronousDispatcher.java:261)
ticketer-web-keycloak |         at org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(SynchronousDispatcher.java:161)
ticketer-web-keycloak |         at org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:364)
ticketer-web-keycloak |         at org.jboss.resteasy.core.SynchronousDispatcher.preprocess(SynchronousDispatcher.java:164)
ticketer-web-keycloak |         at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:247)
ticketer-web-keycloak |         at io.quarkus.resteasy.runtime.standalone.RequestDispatcher.service(RequestDispatcher.java:73)
ticketer-web-keycloak |         at io.quarkus.resteasy.runtime.standalone.VertxRequestHandler.dispatch(VertxRequestHandler.java:151)
ticketer-web-keycloak |         at io.quarkus.resteasy.runtime.standalone.VertxRequestHandler.handle(VertxRequestHandler.java:82)
ticketer-web-keycloak |         at io.quarkus.resteasy.runtime.standalone.VertxRequestHandler.handle(VertxRequestHandler.java:42)
ticketer-web-keycloak |         at io.vertx.ext.web.impl.RouteState.handleContext(RouteState.java:1284)
ticketer-web-keycloak |         at io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:173)
ticketer-web-keycloak |         at io.vertx.ext.web.impl.RoutingContextWrapper.next(RoutingContextWrapper.java:200)
ticketer-web-keycloak |         at io.quarkus.vertx.http.runtime.StaticResourcesRecorder$2.handle(StaticResourcesRecorder.java:84)
ticketer-web-keycloak |         at io.quarkus.vertx.http.runtime.StaticResourcesRecorder$2.handle(StaticResourcesRecorder.java:71)
ticketer-web-keycloak |         at io.vertx.ext.web.impl.RouteState.handleContext(RouteState.java:1284)
ticketer-web-keycloak |         at io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:173)
ticketer-web-keycloak |         at io.vertx.ext.web.impl.RoutingContextWrapper.next(RoutingContextWrapper.java:200)
ticketer-web-keycloak |         at io.quarkus.vertx.http.runtime.VertxHttpRecorder$6.handle(VertxHttpRecorder.java:430)
ticketer-web-keycloak |         at io.quarkus.vertx.http.runtime.VertxHttpRecorder$6.handle(VertxHttpRecorder.java:408)
ticketer-web-keycloak |         at io.vertx.ext.web.impl.RouteState.handleContext(RouteState.java:1284)
ticketer-web-keycloak |         at io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:173)
ticketer-web-keycloak |         at io.vertx.ext.web.impl.RoutingContextWrapper.next(RoutingContextWrapper.java:200)
ticketer-web-keycloak |         at org.keycloak.quarkus.runtime.integration.web.QuarkusRequestFilter.lambda$createBlockingHandler$0(QuarkusRequestFilter.java:82)
ticketer-web-keycloak |         at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:576)
ticketer-web-keycloak |         at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2449)
ticketer-web-keycloak |         at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1478)
ticketer-web-keycloak |         at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
ticketer-web-keycloak |         at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
ticketer-web-keycloak |         at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
ticketer-web-keycloak |         at java.base/java.lang.Thread.run(Thread.java:833)
ticketer-web-keycloak | Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
ticketer-web-keycloak |         at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:439)
ticketer-web-keycloak |         at java.base/sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:306)
ticketer-web-keycloak |         at java.base/sun.security.validator.Validator.validate(Validator.java:264)
ticketer-web-keycloak |         at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:231)
ticketer-web-keycloak |         at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:132)
ticketer-web-keycloak |         at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:638)
ticketer-web-keycloak |         ... 75 more
ticketer-web-keycloak | Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
ticketer-web-keycloak |         at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
ticketer-web-keycloak |         at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
ticketer-web-keycloak |         at java.base/java.security.cert.CertPathBuilder.build(CertPathBuilder.java:297)
ticketer-web-keycloak |         at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:434)
ticketer-web-keycloak |         ... 80 more

The configuration: image

Is the extension working without SSL ? Or did i missed something inside the configuration ?