【发布时间】:2018-06-17 13:18:30
【问题描述】:
我有一个使用 OAuth2 并在 Spring Boot 2.0.0.M2 中成功运行的 Spring Boot 应用程序我将 Spring Boot 版本切换到 2.0.0.M7 并且应用程序停止运行。
经过一些调试,我发现类 'org.springframework.boot.autoconfigure.security.oauth2.resource.ResourceServerTokenServicesConfiguration' 已从 2.0.0.M7 中的工件 'spring-boot-autoconfigure' 中删除以下初始化...
@Bean
@ConditionalOnMissingBean(ResourceServerTokenServices.class)
public UserInfoTokenServices userInfoTokenServices() {
UserInfoTokenServices services = new UserInfoTokenServices(
this.sso.getUserInfoUri(), this.sso.getClientId());
services.setRestTemplate(this.restTemplate);
services.setTokenType(this.sso.getTokenType());
if (this.authoritiesExtractor != null) {
services.setAuthoritiesExtractor(this.authoritiesExtractor);
}
if (this.principalExtractor != null) {
services.setPrincipalExtractor(this.principalExtractor);
}
return services;
}
现在这个类被删除了,没有初始化发生,并且在类“org.springframework.security.oauth2.config.annotation.web.configurers.ResourceServerSecurityConfigurer”中初始化了“DefaultTokenServices”,我的应用程序失败了。
private ResourceServerTokenServices tokenServices(HttpSecurity http) {
if (resourceTokenServices != null) {
return resourceTokenServices;
}
DefaultTokenServices tokenServices = new DefaultTokenServices();
tokenServices.setTokenStore(tokenStore());
tokenServices.setSupportRefreshToken(true);
tokenServices.setClientDetailsService(clientDetails());
this.resourceTokenServices = tokenServices;
return tokenServices;
}
有人知道为什么这个类被删除或有替代品吗?
谢谢解答...
【问题讨论】:
标签: spring-boot spring-security spring-security-oauth2