Table 'bladex.oauth_client_details' doesn't exist

Blade 未结 2 1674
yutao
yutao 剑圣 2020-11-14 18:07

一、该问题的重现步骤是什么?

1. 将blade-auth服务名改为 epo-auth

2. 将blade-common服务名改为 epo-common

3.将blade-gateway 服务名改为 epo-gateway


二、你期待的结果是什么?实际看到的又是什么?

image.png


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

   saber,bladex商业版 2.7.0.REALEASE,win10


四、请提供详细的错误堆栈信息,这很重要。

2020-11-14 17:51:50.006  WARN 4872 --- [           main] c.a.c.n.c.NacosPropertySourceBuilder     : Ignore the empty nacos configuration and get it based on dataId[epo-auth] & group[DEFAULT_GROUP]

2020-11-14 17:51:50.008  WARN 4872 --- [           main] c.a.c.n.c.NacosPropertySourceBuilder     : Ignore the empty nacos configuration and get it based on dataId[epo-auth.yaml] & group[DEFAULT_GROUP]

2020-11-14 17:51:50.010  WARN 4872 --- [           main] c.a.c.n.c.NacosPropertySourceBuilder     : Ignore the empty nacos configuration and get it based on dataId[epo-auth-dev.yaml] & group[DEFAULT_GROUP]

2020-11-14 17:51:50.011  INFO 4872 --- [           main] b.c.PropertySourceBootstrapConfiguration : Located property source: [BootstrapPropertySource {name='bootstrapProperties-epo-auth-dev.yaml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-epo-auth.yaml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-epo-auth,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-blade-dev.yaml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-blade.yaml,DEFAULT_GROUP'}]

2020-11-14 17:51:50.034  INFO 4872 --- [           main] org.springblade.auth.AuthApplication     : The following profiles are active: dev

2020-11-14 17:51:50.181  WARN 4872 --- [           main] o.s.c.c.u.SpringFactoryImportSelector    : More than one implementation of @EnableCircuitBreaker (now relying on @Conditionals to pick one): [org.springframework.cloud.netflix.hystrix.HystrixCircuitBreakerConfiguration, com.alibaba.cloud.sentinel.custom.SentinelCircuitBreakerConfiguration]

2020-11-14 17:51:51.656  WARN 4872 --- [           main] o.s.boot.actuate.endpoint.EndpointId     : Endpoint ID 'nacos-config' contains invalid characters, please migrate to a valid format.

2020-11-14 17:51:51.662  WARN 4872 --- [           main] o.s.boot.actuate.endpoint.EndpointId     : Endpoint ID 'nacos-discovery' contains invalid characters, please migrate to a valid format.

2020-11-14 17:51:52.327  INFO 4872 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode!

2020-11-14 17:51:52.333  INFO 4872 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode.

2020-11-14 17:51:52.377  INFO 4872 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 22ms. Found 0 Redis repository interfaces.

2020-11-14 17:51:52.498  WARN 4872 --- [           main] o.s.boot.actuate.endpoint.EndpointId     : Endpoint ID 'service-registry' contains invalid characters, please migrate to a valid format.

2020-11-14 17:51:52.520  WARN 4872 --- [           main] o.s.boot.actuate.endpoint.EndpointId     : Endpoint ID 'hystrix.stream' contains invalid characters, please migrate to a valid format.

2020-11-14 17:51:52.647  WARN 4872 --- [           main] o.m.s.mapper.ClassPathMapperScanner      : No MyBatis mapper was found in '[org.springblade.auth]' package. Please check your configuration.

2020-11-14 17:51:52.889  INFO 4872 --- [           main] o.s.cloud.context.scope.GenericScope     : BeanFactory id=a8a93b33-d829-3a4d-8b01-83d9c170e016

2020-11-14 17:51:52.907  INFO 4872 --- [           main] s.c.l.p.BladePropertySourcePostProcessor : BladePropertySourcePostProcessor init.

2020-11-14 17:51:52.907  INFO 4872 --- [           main] s.c.l.p.BladePropertySourcePostProcessor : BladePropertySourcePostProcessor process @BladePropertySource bean.

INFO: Sentinel log output type is: file

INFO: Sentinel log charset is: utf-8

INFO: Sentinel log base directory is: C:\Users\HuaShiJie\logs\csp\

INFO: Sentinel log name use pid is: false

2020-11-14 17:51:54.322  WARN 4872 --- [           main] io.undertow.websockets.jsr               : UT026010: Buffer pool was not set on WebSocketDeploymentInfo, the default pool will be used

2020-11-14 17:51:54.361  INFO 4872 --- [           main] io.undertow.servlet                      : Initializing Spring embedded WebApplicationContext

2020-11-14 17:51:54.361  INFO 4872 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 4298 ms

2020-11-14 17:51:54.590  WARN 4872 --- [           main] c.n.c.sources.URLConfigurationSource     : No URLs will be polled as dynamic configuration sources.

2020-11-14 17:51:54.590  INFO 4872 --- [           main] c.n.c.sources.URLConfigurationSource     : To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.

2020-11-14 17:51:54.601  INFO 4872 --- [           main] c.netflix.config.DynamicPropertyFactory  : DynamicPropertyFactory is initialized with configuration sources: com.netflix.config.ConcurrentCompositeConfiguration@8dcacf1

2020-11-14 17:51:54.802  INFO 4872 --- [           main] o.s.b.a.e.web.ServletEndpointRegistrar   : Registered '/actuator/hystrix.stream' to hystrix.stream-actuator-endpoint

2020-11-14 17:51:54.858  INFO 4872 --- [           main] c.a.d.s.b.a.DruidDataSourceAutoConfigure : Init DruidDataSource

2020-11-14 17:51:55.257  INFO 4872 --- [           main] com.alibaba.druid.pool.DruidDataSource   : {dataSource-1} inited

2020-11-14 17:51:57.207  WARN 4872 --- [           main] o.s.s.o.p.t.s.JwtAccessTokenConverter    : Unable to create an RSA verifier from verifierKey (ignoreable if using MAC)

2020-11-14 17:51:58.780  INFO 4872 --- [           main] c.a.c.s.SentinelWebAutoConfiguration     : [Sentinel Starter] register SentinelWebInterceptor with urlPatterns: [/**].

2020-11-14 17:51:58.796  INFO 4872 --- [           main] .c.c.v.BladeRequestMappingHandlerMapping : Mapped "{ /oauth/callback/{source}}" onto org.springblade.auth.endpoint.BladeSocialEndpoint#login(String, AuthCallback)

2020-11-14 17:51:58.796  INFO 4872 --- [           main] .c.c.v.BladeRequestMappingHandlerMapping : Mapped "{ /oauth/refresh/{source}}" onto org.springblade.auth.endpoint.BladeSocialEndpoint#refreshAuth(String, String)

2020-11-14 17:51:58.797  INFO 4872 --- [           main] .c.c.v.BladeRequestMappingHandlerMapping : Mapped "{ /oauth/revoke/{source}/{token}}" onto org.springblade.auth.endpoint.BladeSocialEndpoint#revokeAuth(String, String)

2020-11-14 17:51:58.797  INFO 4872 --- [           main] .c.c.v.BladeRequestMappingHandlerMapping : Mapped "{ /oauth/render/{source}}" onto org.springblade.auth.endpoint.BladeSocialEndpoint#renderAuth(String, HttpServletResponse)

2020-11-14 17:51:58.797  INFO 4872 --- [           main] .c.c.v.BladeRequestMappingHandlerMapping : Mapped "{GET /oauth/clear-cache}" onto org.springblade.auth.endpoint.BladeTokenEndPoint#clearCache()

2020-11-14 17:51:58.797  INFO 4872 --- [           main] .c.c.v.BladeRequestMappingHandlerMapping : Mapped "{GET /oauth/logout}" onto org.springblade.auth.endpoint.BladeTokenEndPoint#logout()

2020-11-14 17:51:58.797  INFO 4872 --- [           main] .c.c.v.BladeRequestMappingHandlerMapping : Mapped "{GET /oauth/captcha}" onto org.springblade.auth.endpoint.BladeTokenEndPoint#captcha()

2020-11-14 17:51:58.797  INFO 4872 --- [           main] .c.c.v.BladeRequestMappingHandlerMapping : Mapped "{GET /oauth/user-info}" onto org.springblade.auth.endpoint.BladeTokenEndPoint#currentUser(Authentication)

2020-11-14 17:51:58.797  INFO 4872 --- [           main] .c.c.v.BladeRequestMappingHandlerMapping : Mapped "{ /swagger-resources}" onto springfox.documentation.swagger.web.ApiResourceController#swaggerResources()

2020-11-14 17:51:58.797  INFO 4872 --- [           main] .c.c.v.BladeRequestMappingHandlerMapping : Mapped "{ /swagger-resources/configuration/ui}" onto springfox.documentation.swagger.web.ApiResourceController#uiConfiguration()

2020-11-14 17:51:58.797  INFO 4872 --- [           main] .c.c.v.BladeRequestMappingHandlerMapping : Mapped "{ /swagger-resources/configuration/security}" onto springfox.documentation.swagger.web.ApiResourceController#securityConfiguration()

2020-11-14 17:51:58.797  INFO 4872 --- [           main] .c.c.v.BladeRequestMappingHandlerMapping : Mapped "{ /error}" onto org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#error(HttpServletRequest)

2020-11-14 17:51:58.797  INFO 4872 --- [           main] .c.c.v.BladeRequestMappingHandlerMapping : Mapped "{ /error, produces [text/html]}" onto org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#errorHtml(HttpServletRequest, HttpServletResponse)

2020-11-14 17:51:58.798 DEBUG 4872 --- [           main] .c.c.v.BladeRequestMappingHandlerMapping : 13 mappings in 'requestMappingHandlerMapping'

2020-11-14 17:52:00.401  INFO 4872 --- [           main] o.s.b.a.e.web.EndpointLinksResolver      : Exposing 21 endpoint(s) beneath base path '/actuator'

2020-11-14 17:52:00.721  WARN 4872 --- [           main] c.n.c.sources.URLConfigurationSource     : No URLs will be polled as dynamic configuration sources.

2020-11-14 17:52:00.721  INFO 4872 --- [           main] c.n.c.sources.URLConfigurationSource     : To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.

2020-11-14 17:52:00.934  INFO 4872 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'

2020-11-14 17:52:01.215  INFO 4872 --- [           main] o.s.s.c.ThreadPoolTaskScheduler          : Initializing ExecutorService 'taskScheduler'

2020-11-14 17:52:03.158  INFO 4872 --- [           main] o.s.c.b.config.BladeRetryConfiguration   : configServerRetryInterceptor: Changing backOffOptions to initial: 1000, multiplier: 1.2, maxInterval: 5000

2020-11-14 17:52:03.202  INFO 4872 --- [           main] o.s.core.log.logger.BladeLogger          : epo-auth: BladeLogger init success!

2020-11-14 17:52:03.376  INFO 4872 --- [           main] pertySourcedRequestMappingHandlerMapping : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2ControllerWebMvc#getDocumentation(String, HttpServletRequest)]

2020-11-14 17:55:35.310  INFO 4872 --- [           main] o.s.s.web.DefaultSecurityFilterChain     : Creating filter chain: OrRequestMatcher [requestMatchers=[Ant [pattern='/oauth/token'], Ant [pattern='/oauth/token_key'], Ant [pattern='/oauth/check_token']]], [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@5a69f1ef, org.springframework.security.web.context.SecurityContextPersistenceFilter@732f7660, org.springframework.security.web.header.HeaderWriterFilter@21cb907d, org.springframework.security.web.authentication.logout.LogoutFilter@55b56db3, org.springframework.security.oauth2.provider.client.ClientCredentialsTokenEndpointFilter@730c4dfd, org.springframework.security.web.authentication.www.BasicAuthenticationFilter@ae20523, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@2e5d40a4, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@38fc1904, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@54fd5f6, org.springframework.security.web.session.SessionManagementFilter@70c741be, org.springframework.security.web.access.ExceptionTranslationFilter@f2bec99, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@3acae925]

2020-11-14 17:55:35.358  INFO 4872 --- [           main] o.s.s.web.DefaultSecurityFilterChain     : Creating filter chain: org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfiguration$NotOAuthRequestMatcher@583f6270, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@2bd24c09, org.springframework.security.web.context.SecurityContextPersistenceFilter@504521ae, org.springframework.security.web.header.HeaderWriterFilter@5d4f0fd5, org.springframework.security.web.authentication.logout.LogoutFilter@22aaa811, org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter@4b5c84be, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@7e86ff3b, org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter@5aaecd25, org.springframework.security.web.authentication.ui.DefaultLogoutPageGeneratingFilter@3e6b8b27, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@4a9e6ea7, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@6f8af186, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@7e199cec, org.springframework.security.web.session.SessionManagementFilter@2092b072, org.springframework.security.web.access.ExceptionTranslationFilter@37a5ac85, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@58230224]

2020-11-14 17:55:35.365  INFO 4872 --- [           main] o.s.s.web.DefaultSecurityFilterChain     : Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@9e7d82e, org.springframework.security.web.context.SecurityContextPersistenceFilter@3e1596c3, org.springframework.security.web.header.HeaderWriterFilter@28b5cee, org.springframework.security.web.authentication.logout.LogoutFilter@73f506d7, org.springframework.security.web.authentication.www.BasicAuthenticationFilter@1d957b5a, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@5ae68d0e, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@252d690, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@49de1717, org.springframework.security.web.session.SessionManagementFilter@7452e4ec, org.springframework.security.web.access.ExceptionTranslationFilter@3d4b3b94]

2020-11-14 17:55:37.069  WARN 4872 --- [           main] s.o.SpringCloudSecurityAutoConfiguration : All Spring Cloud Security modules and starters are deprecated. They will be moved to individual projects in the next major release.

2020-11-14 17:55:38.293  INFO 4872 --- [           main] d.s.w.p.DocumentationPluginsBootstrapper : Documentation plugins bootstrapped

2020-11-14 17:55:38.298  INFO 4872 --- [           main] d.s.w.p.DocumentationPluginsBootstrapper : Found 1 custom documentation plugin(s)

2020-11-14 17:55:38.381  INFO 4872 --- [           main] s.d.s.w.s.ApiListingReferenceScanner     : Scanning for api listing references

2020-11-14 17:55:38.759  INFO 4872 --- [           main] io.undertow                              : starting server: Undertow - 2.0.32.Final

2020-11-14 17:55:38.770  INFO 4872 --- [           main] org.xnio                                 : XNIO version 3.3.8.Final

2020-11-14 17:55:38.783  INFO 4872 --- [           main] org.xnio.nio                             : XNIO NIO Implementation Version 3.3.8.Final

2020-11-14 17:55:38.860  INFO 4872 --- [           main] o.s.b.w.e.u.UndertowServletWebServer     : Undertow started on port(s) 8100 (http) with context path ''

2020-11-14 17:55:38.872  INFO 4872 --- [           main] c.a.c.n.registry.NacosServiceRegistry    : nacos registry, DEFAULT_GROUP epo-auth 192.168.188.95:8100 register finished

2020-11-14 17:55:40.043  INFO 4872 --- [           main] org.springblade.auth.AuthApplication     : Started AuthApplication in 234.061 seconds (JVM running for 236.796)

2020-11-14 17:55:40.052  INFO 4872 --- [   async-task-1] o.s.core.launch.StartEventListener       : ---[EPO-AUTH]---启动完成,当前使用的端口:[8100],环境变量:[dev]---

2020-11-14 17:55:41.375  INFO 4872 --- [-192.168.188.95] io.undertow.servlet                      : Initializing Spring DispatcherServlet 'dispatcherServlet'

2020-11-14 17:55:41.375  INFO 4872 --- [-192.168.188.95] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'

2020-11-14 17:55:41.410  INFO 4872 --- [-192.168.188.95] o.s.web.servlet.DispatcherServlet        : Completed initialization in 35 ms

2020-11-14 17:55:43.560  WARN 4872 --- [-192.168.188.95] c.a.druid.pool.DruidAbstractDataSource   : discard long time none received connection. , jdbcUrl : jdbc:mysql://localhost:3306/bladex?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&tinyInt1isBit=false&allowMultiQueries=true&serverTimezone=GMT%2B8, version : 1.2.2, lastPacketReceivedIdleMillis : 228293

2020-11-14 17:55:43.562  WARN 4872 --- [-192.168.188.95] c.a.druid.pool.DruidAbstractDataSource   : discard long time none received connection. , jdbcUrl : jdbc:mysql://localhost:3306/bladex?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&tinyInt1isBit=false&allowMultiQueries=true&serverTimezone=GMT%2B8, version : 1.2.2, lastPacketReceivedIdleMillis : 228317

2020-11-14 17:55:43.564  WARN 4872 --- [-192.168.188.95] c.a.druid.pool.DruidAbstractDataSource   : discard long time none received connection. , jdbcUrl : jdbc:mysql://localhost:3306/bladex?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&tinyInt1isBit=false&allowMultiQueries=true&serverTimezone=GMT%2B8, version : 1.2.2, lastPacketReceivedIdleMillis : 228325

2020-11-14 17:55:43.566  WARN 4872 --- [-192.168.188.95] c.a.druid.pool.DruidAbstractDataSource   : discard long time none received connection. , jdbcUrl : jdbc:mysql://localhost:3306/bladex?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&tinyInt1isBit=false&allowMultiQueries=true&serverTimezone=GMT%2B8, version : 1.2.2, lastPacketReceivedIdleMillis : 228332

2020-11-14 17:55:43.568  WARN 4872 --- [-192.168.188.95] c.a.druid.pool.DruidAbstractDataSource   : discard long time none received connection. , jdbcUrl : jdbc:mysql://localhost:3306/bladex?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&tinyInt1isBit=false&allowMultiQueries=true&serverTimezone=GMT%2B8, version : 1.2.2, lastPacketReceivedIdleMillis : 228343

2020-11-14 17:55:43.838  INFO 4872 --- [oundedElastic-1] io.lettuce.core.EpollProvider            : Starting without optional epoll library

2020-11-14 17:55:43.841  INFO 4872 --- [oundedElastic-1] io.lettuce.core.KqueueProvider           : Starting without optional kqueue library

org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [select client_id, client_secret, resource_ids, scope, authorized_grant_types, web_server_redirect_uri, authorities, access_token_validity, refresh_token_validity, additional_information, autoapprove from oauth_client_details where client_id = ?]; nested exception is java.sql.SQLSyntaxErrorException: Table 'bladex.oauth_client_details' doesn't exist

at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239)

at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)

at org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1443)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:633)

at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:669)

at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:700)

at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:712)

at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:790)

at org.springframework.security.oauth2.provider.client.JdbcClientDetailsService.loadClientByClientId(JdbcClientDetailsService.java:119)

at org.springblade.auth.service.BladeClientDetailsServiceImpl.loadClientByClientId(BladeClientDetailsServiceImpl.java:45)

at org.springframework.security.oauth2.provider.client.ClientDetailsUserDetailsService.loadUserByUsername(ClientDetailsUserDetailsService.java:47)

at org.springframework.security.authentication.dao.DaoAuthenticationProvider.retrieveUser(DaoAuthenticationProvider.java:108)

at org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider.authenticate(AbstractUserDetailsAuthenticationProvider.java:144)

at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:175)

at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:169)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)

at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)

at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)

at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:92)

at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:77)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)

at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)

at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)

at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)

at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)

at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)

at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)

at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)

at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)

at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)

at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)

at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)

at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)

at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)

at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)

at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:109)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)

at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)

at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)

at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)

at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)

at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)

at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)

at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)

at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)

at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)

at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68)

at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:132)

at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)

at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)

at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)

at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)

at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)

at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)

at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)

at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)

at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)

at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:269)

at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:78)

at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:133)

at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:130)

at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)

at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)

at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:249)

at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:78)

at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:99)

at io.undertow.server.Connectors.executeRootHandler(Connectors.java:376)

at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

at java.lang.Thread.run(Thread.java:748)

Caused by: java.sql.SQLSyntaxErrorException: Table 'bladex.oauth_client_details' doesn't exist

at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)

at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)

at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)

at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953)

at com.mysql.cj.jdbc.ClientPreparedStatement.executeQuery(ClientPreparedStatement.java:1003)

at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeQuery(DruidPooledPreparedStatement.java:227)

at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:678)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:617)

... 77 more

org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [select client_id, client_secret, resource_ids, scope, authorized_grant_types, web_server_redirect_uri, authorities, access_token_validity, refresh_token_validity, additional_information, autoapprove from oauth_client_details where client_id = ?]; nested exception is java.sql.SQLSyntaxErrorException: Table 'bladex.oauth_client_details' doesn't exist

at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239)

at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)

at org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1443)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:633)

at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:669)

at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:700)

at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:712)

at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:790)

at org.springframework.security.oauth2.provider.client.JdbcClientDetailsService.loadClientByClientId(JdbcClientDetailsService.java:119)

at org.springblade.auth.service.BladeClientDetailsServiceImpl.loadClientByClientId(BladeClientDetailsServiceImpl.java:45)

at org.springframework.security.oauth2.provider.client.ClientDetailsUserDetailsService.loadUserByUsername(ClientDetailsUserDetailsService.java:47)

at org.springframework.security.authentication.dao.DaoAuthenticationProvider.retrieveUser(DaoAuthenticationProvider.java:108)

at org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider.authenticate(AbstractUserDetailsAuthenticationProvider.java:144)

at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:175)

at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:169)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)

at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)

at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)

at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:92)

at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:77)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)

at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)

at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)

at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)

at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)

at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)

at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)

at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)

at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)

at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)

at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)

at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)

at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)

at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)

at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)

at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:109)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)

at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)

at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)

at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)

at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)

at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)

at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)

at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)

at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)

at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)

at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68)

at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:132)

at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)

at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)

at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)

at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)

at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)

at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)

at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)

at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)

at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)

at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:269)

at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:78)

at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:133)

at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:130)

at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)

at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)

at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:249)

at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:78)

at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:99)

at io.undertow.server.Connectors.executeRootHandler(Connectors.java:376)

at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

at java.lang.Thread.run(Thread.java:748)

Caused by: java.sql.SQLSyntaxErrorException: Table 'bladex.oauth_client_details' doesn't exist

at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)

at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)

at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)

at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953)

at com.mysql.cj.jdbc.ClientPreparedStatement.executeQuery(ClientPreparedStatement.java:1003)

at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeQuery(DruidPooledPreparedStatement.java:227)

at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:678)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:617)

... 77 more


五、若有更多详细信息,请在下面提供。

  看到之前有人提过这个问题,但是没有说具体的调试/查看方法,只是说看看客户端信息有没有被覆盖(这个具体看那个地方), 初步看了配置都没问题,代码也没改, 就是自定义oauth表不起作用;麻烦帮忙看下,谢谢!

2条回答
  • 2020-11-16 11:57

    没找到原因,只找到临时解决方案,在下图加了方框代码:

    image.png



       没找到哪里覆盖了客户端信息,上面临时解决方案还是很虚,毕竟没找到原因


       还是希望 Bladex技术小组帮忙看下,找到真正原因!!!!!



       注:如果改了服务名,一些feign的地方也要修改!希望能给其它小伙伴一些提示

    0 讨论(0)
  • 2020-11-17 09:14

    控制查询sql的配置在下图。

    image.png


    我们一向不支持没有吃透代码的情况下就改包名,因为当中涉及到类引用、包扫描,修改后如果不够了解,遇到问题会有很多种可能,也就没法排查原因所在。一个问题千人千面,我们的精力只够保证git私服原版的代码运行无误,还望理解。

    0 讨论(0)
提交回复