I'm having a similar problem, were you able to resolve this? On Thursday, July 6, 2017 at 3:39:03 AM UTC-7, Chris Northwood wrote: > > Hi, > > I'm the maintainer of the TLS client auth plugin, and I'm trying to move > it to the new authorization plugin model, but I'm having some difficulty > doing so. I think I've implemented what I need, but Go gives me an error > when I try to log in: > > No AuthenticationProvider found for > com.thoughtworks.go.server.security.tokens.PreAuthenticatedAuthenticationToken > > Help Topic: Authentication > <https://docs.gocd.org/current/configuration/dev_authentication.html#common-errors> > > Which I'm not sure how to debug. I also get an error in my logs which I'll > include below > > The approach I'm taking is: > > * Do it as a web plugin > * Put Go behind Apache which terminates SSL and adds headers corresponding > to the subject and verification status of the client certificate > * Instead of using the URL of an external provider, it redirects directly > to the Go app ( > https://github.com/cnorthwood/gocd-tls-auth/blob/master/src/main/java/uk/me/cjn/gocd_tls_auth/TlsAuthorizationPlugin.java#L135), > > and then uses the headers Apache has added to get the "tokens" ( > https://github.com/cnorthwood/gocd-tls-auth/blob/master/src/main/java/uk/me/cjn/gocd_tls_auth/TlsAuthorizationPlugin.java#L122 > ) > * Parse the certificate detail in the headers to get the user info: > https://github.com/cnorthwood/gocd-tls-auth/blob/master/src/main/java/uk/me/cjn/gocd_tls_auth/TlsAuthorizationPlugin.java#L162 > > If anyone can help me debug that error, or figure out where in my workflow > I'm falling down, that'd be useful. > > Thanks, > > Chris Northwood > > 2017-07-06 10:30:23,195 ERROR [qtp1177096266-26] > BasicAuthenticationFilter:62 - java.lang.IllegalStateException: Committed > > 2017-07-06 10:30:23,195 WARN [qtp1177096266-26] ServletHandler:628 - > /go/plugin/tls-auth/login > > java.lang.IllegalStateException: Committed > > at org.eclipse.jetty.server.Response.resetBuffer(Response.java:1242) > > at > javax.servlet.ServletResponseWrapper.resetBuffer(ServletResponseWrapper.java:241) > > at > org.eclipse.jetty.servlets.gzip.CompressedResponseWrapper.resetBuffer(CompressedResponseWrapper.java:272) > > at > org.eclipse.jetty.servlets.gzip.CompressedResponseWrapper.sendRedirect(CompressedResponseWrapper.java:308) > > at > javax.servlet.http.HttpServletResponseWrapper.sendRedirect(HttpServletResponseWrapper.java:176) > > at > org.springframework.security.context.HttpSessionContextIntegrationFilter$OnRedirectUpdateSessionResponseWrapper.sendRedirect(HttpSessionContextIntegrationFilter.java:507) > > at > com.thoughtworks.go.server.security.BasicAuthenticationFilter.handleException(BasicAuthenticationFilter.java:76) > > at > com.thoughtworks.go.server.security.BasicAuthenticationFilter.doFilterHttp(BasicAuthenticationFilter.java:64) > > at > org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) > > at > org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) > > at > org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:271) > > at > org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) > > at > org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) > > at > com.thoughtworks.go.server.security.WebBasedAuthenticationFilter.doFilterHttp(WebBasedAuthenticationFilter.java:57) > > at > org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) > > at > org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) > > at > com.thoughtworks.go.server.security.OauthAuthenticationFilter.doFilterHttp(OauthAuthenticationFilter.java:65) > > at > org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) > > at > org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) > > at > org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:271) > > at > org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) > > at > org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) > > at > com.thoughtworks.go.server.security.RemoveAdminPermissionFilter.doFilterHttp(RemoveAdminPermissionFilter.java:72) > > at > org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) > > at > org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) > > at > org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89) > > at > com.thoughtworks.go.server.security.GoLogoutFilter.doFilterHttp(GoLogoutFilter.java:48) > > at > org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) > > at > org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) > > at > org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235) > > at > org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) > > at > org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) > > at > com.thoughtworks.go.server.web.i18n.LocaleResolver.doFilter(LocaleResolver.java:41) > > at > org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) > > at > com.thoughtworks.go.server.security.ModeAwareFilter.doFilter(ModeAwareFilter.java:48) > > at > org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) > > at > org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:174) > > at > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) > > at > org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) > > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) > > at > com.thoughtworks.go.server.web.BackupFilter.doFilter(BackupFilter.java:84) > > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) > > at > com.thoughtworks.go.server.web.DefaultHeadersFilter.doFilter(DefaultHeadersFilter.java:34) > > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) > > at > org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:83) > > at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:365) > > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) > > at > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) > > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) > > at > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) > > at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) > > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) > > at > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) > > at > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) > > at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) > > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) > > at > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110) > > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) > > at org.eclipse.jetty.server.Server.handle(Server.java:499) > > at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311) > > at > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) > > at > org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544) > > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) > > at > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) > > at java.lang.Thread.run(Thread.java:748) > > 2017-07-06 10:30:23,196 WARN [qtp1177096266-26] HttpChannel:396 - > /go/plugin/tls-auth/login > > java.lang.IllegalStateException: Committed > > at org.eclipse.jetty.server.Response.resetBuffer(Response.java:1242) > > at > javax.servlet.ServletResponseWrapper.resetBuffer(ServletResponseWrapper.java:241) > > at > org.eclipse.jetty.servlets.gzip.CompressedResponseWrapper.resetBuffer(CompressedResponseWrapper.java:272) > > at > org.eclipse.jetty.servlets.gzip.CompressedResponseWrapper.sendRedirect(CompressedResponseWrapper.java:308) > > at > javax.servlet.http.HttpServletResponseWrapper.sendRedirect(HttpServletResponseWrapper.java:176) > > at > org.springframework.security.context.HttpSessionContextIntegrationFilter$OnRedirectUpdateSessionResponseWrapper.sendRedirect(HttpSessionContextIntegrationFilter.java:507) > > at > com.thoughtworks.go.server.security.BasicAuthenticationFilter.handleException(BasicAuthenticationFilter.java:76) > > at > com.thoughtworks.go.server.security.BasicAuthenticationFilter.doFilterHttp(BasicAuthenticationFilter.java:64) > > at > org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) > > at > org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) > > at > org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:271) > > at > org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) > > at > org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) > > at > com.thoughtworks.go.server.security.WebBasedAuthenticationFilter.doFilterHttp(WebBasedAuthenticationFilter.java:57) > > at > org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) > > at > org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) > > at > com.thoughtworks.go.server.security.OauthAuthenticationFilter.doFilterHttp(OauthAuthenticationFilter.java:65) > > at > org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) > > at > org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) > > at > org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:271) > > at > org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) > > at > org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) > > at > com.thoughtworks.go.server.security.RemoveAdminPermissionFilter.doFilterHttp(RemoveAdminPermissionFilter.java:72) > > at > org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) > > at > org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) > > at > org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89) > > at > com.thoughtworks.go.server.security.GoLogoutFilter.doFilterHttp(GoLogoutFilter.java:48) > > at > org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) > > at > org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) > > at > org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235) > > at > org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) > > at > org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) > > at > com.thoughtworks.go.server.web.i18n.LocaleResolver.doFilter(LocaleResolver.java:41) > > at > org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) > > at > com.thoughtworks.go.server.security.ModeAwareFilter.doFilter(ModeAwareFilter.java:48) > > at > org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) > > at > org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:174) > > at > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) > > at > org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) > > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) > > at > com.thoughtworks.go.server.web.BackupFilter.doFilter(BackupFilter.java:84) > > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) > > at > com.thoughtworks.go.server.web.DefaultHeadersFilter.doFilter(DefaultHeadersFilter.java:34) > > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) > > at > org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:83) > > at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:365) > > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) > > at > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) > > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) > > at > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) > > at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) > > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) > > at > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) > > at > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) > > at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) > > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) > > at > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110) > > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) > > at org.eclipse.jetty.server.Server.handle(Server.java:499) > > at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311) > > at > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) > > at > org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544) > > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) > > at > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) > > at java.lang.Thread.run(Thread.java:748) > > 2017-07-06 10:30:23,196 WARN [qtp1177096266-26] HttpChannel:482 - Could > not send response error 500: java.lang.IllegalStateException: Committed >
-- You received this message because you are subscribed to the Google Groups "go-cd" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
