Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-72714

How to solve Google oauth with jenkins logging error

    • Icon: Bug Bug
    • Resolution: Not A Defect
    • Icon: Blocker Blocker
    • google-login-plugin

      I have configured Jenkins to work with Google OAuth using the Google-login plugin. I've followed the setup and it is taking me to the Google login page. But when it is redirected to the securityRealm/finishLogin endpoint, it is giving me an error (attached jenkins oops.png)

       

      I see the following timeout log in the jenkins logs:

      2024-02-13 09:31:46.550+0000 [id=77]    WARNING h.i.i.InstallUncaughtExceptionHandler#handleException: Caught unhandled exception with ID afe6c48b-2369-4053-9e14-21ef1e284455
      java.net.SocketTimeoutException: Connect timed out
          at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:551)
          at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602)
          at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
          at java.base/java.net.Socket.connect(Socket.java:633)
          at java.base/sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:304)
          at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:178)
          at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:533)
          at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:638)
          at java.base/sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:266)
          at java.base/sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:380)
          at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:193)
          at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1242)
          at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1128)
          at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:179)
          at java.base/sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.java:1430)
          at java.base/sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1401)
          at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:220)
          at com.google.api.client.http.javanet.NetHttpRequest.execute(NetHttpRequest.java:113)
          at com.google.api.client.http.javanet.NetHttpRequest.execute(NetHttpRequest.java:84)
          at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1012)
          at com.google.api.client.auth.oauth2.TokenRequest.executeUnparsed(TokenRequest.java:304)
          at com.google.api.client.auth.openidconnect.IdTokenResponse.execute(IdTokenResponse.java:115)
          at org.jenkinsci.plugins.googlelogin.GoogleOAuth2SecurityRealm$2.onSuccess(GoogleOAuth2SecurityRealm.java:204)
          at org.jenkinsci.plugins.googlelogin.OAuthSession.doFinishLogin(OAuthSession.java:112)
          at org.jenkinsci.plugins.googlelogin.GoogleOAuth2SecurityRealm.doFinishLogin(GoogleOAuth2SecurityRealm.java:305)
          at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:732)
          at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:397)
          at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:409)
          at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:207)
          at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:140)
          at org.kohsuke.stapler.MetaClass$11.doDispatch(MetaClass.java:558)
          at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:59)
          at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:770)
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:900)
          at org.kohsuke.stapler.MetaClass$2.doDispatch(MetaClass.java:224)
          at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:59)
          at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:770)
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:900)
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:698)
          at org.kohsuke.stapler.Stapler.service(Stapler.java:248)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:590)
          at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764)
          at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1665)
          at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:163)
          at hudson.plugins.scm_sync_configuration.extensions.ScmSyncConfigurationFilter$1.call(ScmSyncConfigurationFilter.java:49)
          at hudson.plugins.scm_sync_configuration.extensions.ScmSyncConfigurationFilter$1.call(ScmSyncConfigurationFilter.java:44)
          at hudson.plugins.scm_sync_configuration.ScmSyncConfigurationDataProvider.provideRequestDuring(ScmSyncConfigurationDataProvider.java:106)
          at hudson.plugins.scm_sync_configuration.extensions.ScmSyncConfigurationFilter.doFilter(ScmSyncConfigurationFilter.java:44)
          at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:160)
          at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125)
          at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:160)
          at jenkins.util.HttpServletFilter$1.doFilter(HttpServletFilter.java:76)
          at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:160)
          at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:166)
          at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
          at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
          at jenkins.ErrorAttributeFilter.doFilter(ErrorAttributeFilter.java:29)
          at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
          at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
          at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:160)
          at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
          at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
          at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:94)
          at jenkins.security.AcegiSecurityExceptionFilter.doFilter(AcegiSecurityExceptionFilter.java:52)
          at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
          at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:54)
          at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
          at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126)
          at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120)
          at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
          at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100)
          at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
          at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:145)
          at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:101)
          at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
          at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:227)
          at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:221)
          at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
          at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:97)
          at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
          at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:117)
          at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
          at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:63)
          at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
          at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:111)
          at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:172)
          at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
          at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
          at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:53)
          at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
          at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
          at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:86)
          at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
          at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
          at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
          at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
          at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
          at jenkins.security.SuspiciousRequestFilter.doFilter(SuspiciousRequestFilter.java:38)
          at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
          at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
          at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:527)
          at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
          at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:569)
          at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
          at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)
          at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1570)
          at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)
          at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1384)
          at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)
          at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484)
          at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1543)
          at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)
          at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1306)
          at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
          at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
          at org.eclipse.jetty.server.Server.handle(Server.java:563)
          at org.eclipse.jetty.server.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1598)
          at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:753)
          at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:501)
          at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:287)
          at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314)
          at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
          at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
          at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:421)
          at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:390)
          at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:277)
          at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:199)
          at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:411)
          at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:969)
          at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1194)
          at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1149)
          at java.base/java.lang.Thread.run(Thread.java:840) 

      I've attached imaged for my google oauth setup and jenkins oauth config.

        1. Jenkins setup.png
          Jenkins setup.png
          160 kB
        2. jenkins oops.png
          jenkins oops.png
          305 kB
        3. oauth setup.png
          oauth setup.png
          68 kB

          [JENKINS-72714] How to solve Google oauth with jenkins logging error

          Mark Waite added a comment -

          rajank thanks for using Jenkins. We use the Jenkins issue tracker for bugs and enhancements. This looks like a request for help to diagnose a configuration error. We use the Jenkins community forum at community.jenkins.io and the Jenkins user mailing list and the Jenkins chat channels for diagnosis. There are more readers on those locations and you are more likely to receive help from those locations than from a bug report.

          Mark Waite added a comment - rajank thanks for using Jenkins. We use the Jenkins issue tracker for bugs and enhancements. This looks like a request for help to diagnose a configuration error. We use the Jenkins community forum at community.jenkins.io and the Jenkins user mailing list and the Jenkins chat channels for diagnosis. There are more readers on those locations and you are more likely to receive help from those locations than from a bug report.

            recampbell Ryan Campbell
            rajank Rajan
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: