admin管理员组文章数量:1355570
(More info about my environment here: Keycloak - Java App Redirect within Docker)
I'm facing issues when logging out from my Java application through http://localhost:8090/system/sso/logout, the application redirects me back to the home page but doesn't invalidate or delete my session. Additionally, if I manually remove the session cookie via the browser's developer tools and then reload the application, it somehow retrieves the session again and remains logged in. In my client_id settings I only set Valid Redirect URI to *. Also when I remove manually the session from user panel in keycloak admin console it works.
Could someone help me understand what's happening? Thanks!
Same Logs this time:
[DEBUG] 16:37:57.607 .keycloak.adapters.springsecurity.token.SpringSecurityTokenStore.logout() - Handling logout request
[DEBUG] 16:37:57.607 .springframework.security.web.session.HttpSessionEventPublisher.extracted() - Publishing event: .springframework.security.web.session.HttpSessionDestroyedEvent[source=.apache.catalina.session.StandardSessionFacade@28e34a34]
[ERROR] 16:37:57.608 .keycloak.adapters.RefreshableKeycloakSecurityContext.logout() - failed to invoke remote logout
java.ConnectException: Connection refused (Connection refused)
at java.PlainSocketImpl.socketConnect(Native Method) ~[?:1.8.0_212]
at java.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[?:1.8.0_212]
at java.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[?:1.8.0_212]
at java.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[?:1.8.0_212]
at java.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[?:1.8.0_212]
at java.Socket.connect(Socket.java:589) ~[?:1.8.0_212]
at .apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:121) ~[httpclient-4.5.13.jar:4.5.13]
at .apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180) ~[httpclient-4.5.13.jar:4.5.13]
at .apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:144) ~[httpclient-4.5.13.jar:4.5.13]
at .apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:134) ~[httpclient-4.5.13.jar:4.5.13]
at .apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:605) ~[httpclient-4.5.13.jar:4.5.13]
at .apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:440) ~[httpclient-4.5.13.jar:4.5.13]
at .apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835) ~[httpclient-4.5.13.jar:4.5.13]
at .apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83) ~[httpclient-4.5.13.jar:4.5.13]
at .apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108) ~[httpclient-4.5.13.jar:4.5.13]
at .apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56) ~[httpclient-4.5.13.jar:4.5.13]
at .keycloak.adapters.ServerRequest.invokeLogout(ServerRequest.java:82) ~[keycloak-adapter-core-15.0.0.jar:15.0.0]
at .keycloak.adapters.RefreshableKeycloakSecurityContext.logout(RefreshableKeycloakSecurityContext.java:84) [keycloak-adapter-core-15.0.0.jar:15.0.0]
at .keycloak.adapters.springsecurity.authentication.KeycloakLogoutHandler.handleSingleSignOut(KeycloakLogoutHandler.java:78) [keycloak-spring-security-adapter-15.0.0.jar:15.0.0]
at .keycloak.adapters.springsecurity.authentication.KeycloakLogoutHandler.logout(KeycloakLogoutHandler.java:70) [keycloak-spring-security-adapter-15.0.0.jar:15.0.0]
at .springframework.security.web.authentication.logout.CompositeLogoutHandler.logout(CompositeLogoutHandler.java:54) [spring-security-web-5.8.2.jar:5.8.2]
at .springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) [spring-security-web-5.8.2.jar:5.8.2]
at .springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) [spring-security-web-5.8.2.jar:5.8.2]
at .springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361) [spring-security-web-5.8.2.jar:5.8.2]
at .keycloak.adapters.springsecurity.filter.KeycloakPreAuthActionsFilter.doFilter(KeycloakPreAuthActionsFilter.java:96) [keycloak-spring-security-adapter-15.0.0.jar:15.0.0]
at .springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361) [spring-security-web-5.8.2.jar:5.8.2]
at .springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) [spring-security-web-5.8.2.jar:5.8.2]
at .springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) [spring-security-web-5.8.2.jar:5.8.2]
at .springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) [spring-web-5.3.25.jar:5.3.25]
at .springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361) [spring-security-web-5.8.2.jar:5.8.2]
at .springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) [spring-security-web-5.8.2.jar:5.8.2]
at .springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) [spring-web-5.3.25.jar:5.3.25]
at .springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361) [spring-security-web-5.8.2.jar:5.8.2]
at .springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:117) [spring-security-web-5.8.2.jar:5.8.2]
at .springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) [spring-security-web-5.8.2.jar:5.8.2]
at .springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361) [spring-security-web-5.8.2.jar:5.8.2]
at .springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) [spring-security-web-5.8.2.jar:5.8.2]
at .springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) [spring-web-5.3.25.jar:5.3.25]
at .springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361) [spring-security-web-5.8.2.jar:5.8.2]
at .springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:225) [spring-security-web-5.8.2.jar:5.8.2]
at .springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:190) [spring-security-web-5.8.2.jar:5.8.2]
at .springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) [spring-web-5.3.25.jar:5.3.25]
at .springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) [spring-web-5.3.25.jar:5.3.25]
at .apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:9.0.20]
at .apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:9.0.20]
at .springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) [spring-web-5.3.25.jar:5.3.25]
at .springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) [spring-web-5.3.25.jar:5.3.25]
at .apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:9.0.20]
at .apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:9.0.20]
at .apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200) [catalina.jar:9.0.20]
at .apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [catalina.jar:9.0.20]
at .apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) [catalina.jar:9.0.20]
at .apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) [catalina.jar:9.0.20]
at .apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [catalina.jar:9.0.20]
at .apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678) [catalina.jar:9.0.20]
at .apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) [catalina.jar:9.0.20]
at .apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) [catalina.jar:9.0.20]
at .apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) [tomcat-coyote.jar:9.0.20]
at .apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-coyote.jar:9.0.20]
at .apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:836) [tomcat-coyote.jar:9.0.20]
at .apache.tomcat.util.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1839) [tomcat-coyote.jar:9.0.20]
at .apache.tomcat.util.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote.jar:9.0.20]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_212]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_212]
at .apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:9.0.20]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212]
[DEBUG] 16:37:57.608 .springframework.security.web.DefaultRedirectStrategy.sendRedirect() - Redirecting to /system/
[DEBUG] 16:37:57.609 .springframework.security.web.context.HttpSessionSecurityContextRepository.saveContext() - Did not store empty SecurityContext
[DEBUG] 16:37:57.609 .springframework.security.web.context.HttpSessionSecurityContextRepository.saveContext() - Did not store empty SecurityContext
[DEBUG] 16:37:57.609 .springframework.security.web.context.SecurityContextPersistenceFilter.doFilter() - Cleared SecurityContextHolder to complete request
[DEBUG] 16:37:57.612 .springframework.security.web.FilterChainProxy.doFilterInternal() - Securing GET /index.html
[DEBUG] 16:37:57.612 .springframework.security.web.context.SecurityContextPersistenceFilter.doFilter() - Set SecurityContextHolder to empty SecurityContext
[DEBUG] 16:37:57.612 .keycloak.adapters.PreAuthActionsHandler.handleRequest() - adminRequest http://localhost:8090/system/
[DEBUG] 16:37:57.612 .springframework.security.web.authentication.AnonymousAuthenticationFilter.defaultWithAnonymous() - Set SecurityContextHolder to anonymous SecurityContext
[DEBUG] 16:37:57.613 .springframework.security.web.session.SessionManagementFilter.doFilter() - Request requested invalid session id ...
本文标签: Problem trying to logout from java app using keycloak within dockerStack Overflow
版权声明:本文标题:Problem trying to logout from java app using keycloak within docker - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1743980966a2571078.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论