jobmission / oauth2-server

spring boot (springboot 3+) oauth2 server sso 单点登录 认证中心 JWT,独立部署,用户管理 客户端管理
MIT License
488 stars 222 forks source link

获取code时报错 [invalid_request] #17

Closed LeoMalik closed 4 years ago

LeoMalik commented 4 years ago
Authentication request failed: org.springframework.security.oauth2.core.OAuth2AuthenticationException: [invalid_request]

org.springframework.security.oauth2.core.OAuth2AuthenticationException: [invalid_request]
        at org.springframework.security.oauth2.client.web.OAuth2LoginAuthenticationFilter.attemptAuthentication(OAuth2LoginAuthenticationFilter.java:156) ~[spring-security-oauth2-client-5.2.0.RELEASE.jar:5.2.0.RELEASE]
        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:212) ~[spring-security-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
        at org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter.doFilterInternal(OAuth2AuthorizationRequestRedirectFilter.java:160) ~[spring-security-oauth2-client-5.2.0.RELEASE.jar:5.2.0.RELEASE]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
        at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116) ~[spring-security-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
        at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:92) ~[spring-security-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
        at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:77) ~[spring-security-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
        at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105) ~[spring-security-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
        at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56) ~[spring-security-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
        at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215) ~[spring-security-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
        at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178) ~[spring-security-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) ~[spring-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) ~[spring-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
        at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
        at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
        at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:108) ~[spring-boot-actuator-2.2.0.RELEASE.jar:2.2.0.RELEASE]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.0.RELEASE.jar:5.2.0.RELEASE]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:526) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1579) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na]
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na]
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
        at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]

2019-12-02 23:06:14.559 DEBUG 632 --- [io-10480-exec-8] .s.o.c.w.OAuth2LoginAuthenticationFilter : Updated SecurityContextHolder to contain null Authentication
2019-12-02 23:06:14.560 DEBUG 632 --- [io-10480-exec-8] .s.o.c.w.OAuth2LoginAuthenticationFilter : Delegating to authentication failure handler org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler@2bebc24e
2019-12-02 23:06:14.568 DEBUG 632 --- [io-10480-exec-8] .a.SimpleUrlAuthenticationFailureHandler : Redirecting to /login?error
2019-12-02 23:06:14.569 DEBUG 632 --- [io-10480-exec-8] o.s.s.web.DefaultRedirectStrategy        : Redirecting to '/login?error'
2019-12-02 23:06:14.570 DEBUG 632 --- [io-10480-exec-8] o.s.s.w.header.writers.HstsHeaderWriter  : Not injecting HSTS header since it did not match the requestMatcher org.springframework.security.web.header.writers.HstsHeaderWriter$SecureRequestMatcher@595c0c0b
2019-12-02 23:06:14.571 DEBUG 632 --- [io-10480-exec-8] w.c.HttpSessionSecurityContextRepository : SecurityContext is empty or contents are anonymous - context will not be stored in HttpSession.
2019-12-02 23:06:14.572 DEBUG 632 --- [io-10480-exec-8] s.s.w.c.SecurityContextPersistenceFilter : SecurityContextHolder now cleared, as request processing completed
2019-12-02 23:06:14.618 DEBUG 632 --- [io-10480-exec-9] o.s.security.web.FilterChainProxy        : /login?error at position 1 of 14 in additional filter chain; firing Filter: 'WebAsyncManagerIntegrationFilter'
2019-12-02 23:06:14.621 DEBUG 632 --- [io-10480-exec-9] o.s.security.web.FilterChainProxy        : /login?error at position 2 of 14 in additional filter chain; firing Filter: 'SecurityContextPersistenceFilter'
2019-12-02 23:06:14.622 DEBUG 632 --- [io-10480-exec-9] w.c.HttpSessionSecurityContextRepository : HttpSession returned null object for SPRING_SECURITY_CONTEXT
2019-12-02 23:06:14.622 DEBUG 632 --- [io-10480-exec-9] w.c.HttpSessionSecurityContextRepository : No SecurityContext was available from the HttpSession: org.apache.catalina.session.StandardSessionFacade@7a036399. A new one will be created.
2019-12-02 23:06:14.622 DEBUG 632 --- [io-10480-exec-9] o.s.security.web.FilterChainProxy        : /login?error at position 3 of 14 in additional filter chain; firing Filter: 'HeaderWriterFilter'
2019-12-02 23:06:14.622 DEBUG 632 --- [io-10480-exec-9] o.s.security.web.FilterChainProxy        : /login?error at position 4 of 14 in additional filter chain; firing Filter: 'LogoutFilter'
2019-12-02 23:06:14.622 DEBUG 632 --- [io-10480-exec-9] o.s.s.web.util.matcher.OrRequestMatcher  : Trying to match using Ant [pattern='/logout', GET]
2019-12-02 23:06:14.622 DEBUG 632 --- [io-10480-exec-9] o.s.s.w.u.matcher.AntPathRequestMatcher  : Checking match of request : '/login'; against '/logout'
2019-12-02 23:06:14.622 DEBUG 632 --- [io-10480-exec-9] o.s.s.web.util.matcher.OrRequestMatcher  : Trying to match using Ant [pattern='/logout', POST]
2019-12-02 23:06:14.622 DEBUG 632 --- [io-10480-exec-9] o.s.s.w.u.matcher.AntPathRequestMatcher  : Request 'GET /login' doesn't match 'POST /logout'
2019-12-02 23:06:14.623 DEBUG 632 --- [io-10480-exec-9] o.s.s.web.util.matcher.OrRequestMatcher  : Trying to match using Ant [pattern='/logout', PUT]
2019-12-02 23:06:14.623 DEBUG 632 --- [io-10480-exec-9] o.s.s.w.u.matcher.AntPathRequestMatcher  : Request 'GET /login' doesn't match 'PUT /logout'
2019-12-02 23:06:14.623 DEBUG 632 --- [io-10480-exec-9] o.s.s.web.util.matcher.OrRequestMatcher  : Trying to match using Ant [pattern='/logout', DELETE]
2019-12-02 23:06:14.623 DEBUG 632 --- [io-10480-exec-9] o.s.s.w.u.matcher.AntPathRequestMatcher  : Request 'GET /login' doesn't match 'DELETE /logout'
2019-12-02 23:06:14.623 DEBUG 632 --- [io-10480-exec-9] o.s.s.web.util.matcher.OrRequestMatcher  : No matches found
2019-12-02 23:06:14.623 DEBUG 632 --- [io-10480-exec-9] o.s.security.web.FilterChainProxy        : /login?error at position 5 of 14 in additional filter chain; firing Filter: 'OAuth2AuthorizationRequestRedirectFilter'
2019-12-02 23:06:14.623 DEBUG 632 --- [io-10480-exec-9] o.s.s.w.u.matcher.AntPathRequestMatcher  : Checking match of request : '/login'; against '/oauth2/authorization/{registrationId}'
2019-12-02 23:06:14.625 DEBUG 632 --- [io-10480-exec-9] o.s.security.web.FilterChainProxy        : /login?error at position 6 of 14 in additional filter chain; firing Filter: 'OAuth2LoginAuthenticationFilter'
2019-12-02 23:06:14.625 DEBUG 632 --- [io-10480-exec-9] o.s.s.w.u.matcher.AntPathRequestMatcher  : Checking match of request : '/login'; against '/login/oauth2/code/*'
2019-12-02 23:06:14.625 DEBUG 632 --- [io-10480-exec-9] o.s.security.web.FilterChainProxy        : /login?error at position 7 of 14 in additional filter chain; firing Filter: 'DefaultLoginPageGeneratingFilter'
2019-12-02 23:06:14.625 DEBUG 632 --- [io-10480-exec-9] o.s.s.w.header.writers.HstsHeaderWriter  : Not injecting HSTS header since it did not match the requestMatcher org.springframework.security.web.header.writers.HstsHeaderWriter$SecureRequestMatcher@595c0c0b
2019-12-02 23:06:14.625 DEBUG 632 --- [io-10480-exec-9] w.c.HttpSessionSecurityContextRepository : SecurityContext is empty or contents are anonymous - context will not be stored in HttpSession.
2019-12-02 23:06:14.625 DEBUG 632 --- [io-10480-exec-9] s.s.w.c.SecurityContextPersistenceFilter : SecurityContextHolder now cleared, as request processing completed
jobmission commented 4 years ago

把请求地址和参数提供一下

LeoMalik commented 4 years ago

把请求地址和参数提供一下

请求地址:http://server.sso.com/oauth/authorize?client_id=SampleClientId&response_type=code&redirect_uri=http://client.sso.com/login/oauth2/code/sso-login 点击同意授权之后在http://client.sso.com/login?error 报的错

server:

Application started @ 2019-12-09T16:09:37.361 ! 
-----------------------------------------------

2019-12-09 16:09:38.570  INFO 15488 --- [7)-192.168.10.1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2019-12-09 16:09:38.570  INFO 15488 --- [7)-192.168.10.1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2019-12-09 16:09:38.580  INFO 15488 --- [7)-192.168.10.1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 9 ms
2019-12-09 16:10:10.171  INFO 15488 --- [io-10380-exec-2] c.r.s.oauth2.server.WebRequestLogAspect  : 
Request from = 127.0.0.1;
uri = http://server.sso.com/signIn;
request method = GET;
content type = null;
request parameters = {};
request body = null;

2019-12-09 16:10:10.173  INFO 15488 --- [io-10380-exec-2] c.r.s.oauth2.server.WebRequestLogAspect  : Response from server : 
"signIn"
2019-12-09 16:10:10.541  INFO 15488 --- [io-10380-exec-7] c.r.s.oauth2.server.WebRequestLogAspect  : 
Request from = 127.0.0.1;
uri = http://server.sso.com/captcha/graph;
request method = GET;
content type = null;
request parameters = {};
request body = null;

not found captcha.ttf .
try to load IBMPlexSans-Thin.ttf .
2019-12-09 16:10:10.579  INFO 15488 --- [io-10380-exec-7] c.r.s.oauth2.server.WebRequestLogAspect  : Response from server : 
{"graphUrl":"/captcha/graph/print?graphId=5fefb0af-6bfc-474e-9036-9fbe368291e7","graphId":"5fefb0af-6bfc-474e-9036-9fbe368291e7","ttl":300,"status":1}
2019-12-09 16:10:10.621  INFO 15488 --- [io-10380-exec-8] c.r.s.oauth2.server.WebRequestLogAspect  : 
Request from = 127.0.0.1;
uri = http://server.sso.com/captcha/graph/print;
request method = GET;
content type = null;
request parameters = {"graphId":"[5fefb0af-6bfc-474e-9036-9fbe368291e7]"};
request body = null;

2019-12-09 16:10:10.676  INFO 15488 --- [io-10380-exec-8] c.r.s.oauth2.server.WebRequestLogAspect  : Response from server : 
null
2019-12-09 16:10:16.758  INFO 15488 --- [o-10380-exec-10] c.r.s.oauth2.server.WebRequestLogAspect  : 
Request from = 127.0.0.1;
uri = http://server.sso.com/oauth/confirm_access;
request method = GET;
content type = null;
request parameters = {"response_type":"[code]","redirect_uri":"[http://client.sso.com/login/oauth2/code/sso-login]","client_id":"[SampleClientId]"};
request body = null;

2019-12-09 16:10:16.778  INFO 15488 --- [o-10380-exec-10] c.r.s.oauth2.server.WebRequestLogAspect  : Response from server : 
"accessConfirmation"

client:

2019-12-09 16:10:22.328 DEBUG 9096 --- [io-10480-exec-1] o.s.security.web.FilterChainProxy        : /login/oauth2/code/sso-login?code=Uc7pEr at position 1 of 14 in additional filter chain; firing Filter: 'WebAsyncManagerIntegrationFilter'
2019-12-09 16:10:22.328 DEBUG 9096 --- [io-10480-exec-1] o.s.security.web.FilterChainProxy        : /login/oauth2/code/sso-login?code=Uc7pEr at position 2 of 14 in additional filter chain; firing Filter: 'SecurityContextPersistenceFilter'
2019-12-09 16:10:22.329 DEBUG 9096 --- [io-10480-exec-1] w.c.HttpSessionSecurityContextRepository : No HttpSession currently exists
2019-12-09 16:10:22.329 DEBUG 9096 --- [io-10480-exec-1] w.c.HttpSessionSecurityContextRepository : No SecurityContext was available from the HttpSession: null. A new one will be created.
2019-12-09 16:10:22.330 DEBUG 9096 --- [io-10480-exec-1] o.s.security.web.FilterChainProxy        : /login/oauth2/code/sso-login?code=Uc7pEr at position 3 of 14 in additional filter chain; firing Filter: 'HeaderWriterFilter'
2019-12-09 16:10:22.330 DEBUG 9096 --- [io-10480-exec-1] o.s.security.web.FilterChainProxy        : /login/oauth2/code/sso-login?code=Uc7pEr at position 4 of 14 in additional filter chain; firing Filter: 'LogoutFilter'
2019-12-09 16:10:22.330 DEBUG 9096 --- [io-10480-exec-1] o.s.s.web.util.matcher.OrRequestMatcher  : Trying to match using Ant [pattern='/logout', GET]
2019-12-09 16:10:22.330 DEBUG 9096 --- [io-10480-exec-1] o.s.s.w.u.matcher.AntPathRequestMatcher  : Checking match of request : '/login/oauth2/code/sso-login'; against '/logout'
2019-12-09 16:10:22.330 DEBUG 9096 --- [io-10480-exec-1] o.s.s.web.util.matcher.OrRequestMatcher  : Trying to match using Ant [pattern='/logout', POST]
2019-12-09 16:10:22.330 DEBUG 9096 --- [io-10480-exec-1] o.s.s.w.u.matcher.AntPathRequestMatcher  : Request 'GET /login/oauth2/code/sso-login' doesn't match 'POST /logout'
2019-12-09 16:10:22.331 DEBUG 9096 --- [io-10480-exec-1] o.s.s.web.util.matcher.OrRequestMatcher  : Trying to match using Ant [pattern='/logout', PUT]
2019-12-09 16:10:22.331 DEBUG 9096 --- [io-10480-exec-1] o.s.s.w.u.matcher.AntPathRequestMatcher  : Request 'GET /login/oauth2/code/sso-login' doesn't match 'PUT /logout'
2019-12-09 16:10:22.331 DEBUG 9096 --- [io-10480-exec-1] o.s.s.web.util.matcher.OrRequestMatcher  : Trying to match using Ant [pattern='/logout', DELETE]
2019-12-09 16:10:22.331 DEBUG 9096 --- [io-10480-exec-1] o.s.s.w.u.matcher.AntPathRequestMatcher  : Request 'GET /login/oauth2/code/sso-login' doesn't match 'DELETE /logout'
2019-12-09 16:10:22.331 DEBUG 9096 --- [io-10480-exec-1] o.s.s.web.util.matcher.OrRequestMatcher  : No matches found
2019-12-09 16:10:22.331 DEBUG 9096 --- [io-10480-exec-1] o.s.security.web.FilterChainProxy        : /login/oauth2/code/sso-login?code=Uc7pEr at position 5 of 14 in additional filter chain; firing Filter: 'OAuth2AuthorizationRequestRedirectFilter'
2019-12-09 16:10:22.331 DEBUG 9096 --- [io-10480-exec-1] o.s.s.w.u.matcher.AntPathRequestMatcher  : Checking match of request : '/login/oauth2/code/sso-login'; against '/oauth2/authorization/{registrationId}'
2019-12-09 16:10:22.331 DEBUG 9096 --- [io-10480-exec-1] o.s.security.web.FilterChainProxy        : /login/oauth2/code/sso-login?code=Uc7pEr at position 6 of 14 in additional filter chain; firing Filter: 'OAuth2LoginAuthenticationFilter'
2019-12-09 16:10:22.331 DEBUG 9096 --- [io-10480-exec-1] o.s.s.w.u.matcher.AntPathRequestMatcher  : Checking match of request : '/login/oauth2/code/sso-login'; against '/login/oauth2/code/*'
2019-12-09 16:10:22.331 DEBUG 9096 --- [io-10480-exec-1] .s.o.c.w.OAuth2LoginAuthenticationFilter : Request is to process authentication
2019-12-09 16:10:22.335 DEBUG 9096 --- [io-10480-exec-1] .s.o.c.w.OAuth2LoginAuthenticationFilter : Authentication request failed: org.springframework.security.oauth2.core.OAuth2AuthenticationException: [invalid_request] 
jobmission commented 4 years ago

更新代码,再试一下,如果有错,把浏览器截图和日志发一下