[英]JdbcTokenStore implementation with Spring-Boot and OAuth2
HEJ,
我正在尝试使用Spring-Boot在应用程序中实现OAuth2。 我在JdbcTokenStore的实现中苦苦挣扎(我是否了解这一权利,这是将Token存储在数据库中?)
我的代码如下所示:
@Configuration
@EnableAuthorizationServer
protected static class OAuth2Config extends AuthorizationServerConfigurerAdapter {
@Autowired
private DataSource dataSource;
private TokenStore tokenStore = new JdbcTokenStore(dataSource);
....
@Override
public void configure(OAuth2AuthorizationServerConfigurer oauthServer) throws Exception {
oauthServer.tokenStore(tokenStore).authenticationManager(authenticationManager);
}
这样做我得到以下错误:
由以下原因引起:org.springframework.beans.BeanInstantiationException:无法实例化bean类[se ..... config.OAuth2ServerConfig $ OAuth2Config $$ EnhancerBySpringCGLIB $$ f6b9ba94]:构造函数引发了异常; 嵌套异常为java.lang.IllegalArgumentException:需要数据源
数据库连接本身似乎正常工作,至少当我使用InMemoryTokenStore时,我可以使用存储在数据库中的用户数据(用户名/密码)登录。
谁能告诉我我做错了什么,或推荐一些来源来解决此问题?
非常感谢!
那是一个基本的依赖注入问题(没有花哨的东西,也没有与oauth或Boot相关的东西)。 您无法通过@Autowired
初始化字段(在初始化后进行接线)。 您需要将其拉到@PostConstruct
或@Bean
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.