在以前版本的OAuth2中,可以通过将自定义令牌Granter添加到< authorization-server>中的xml配置来添加它.元件.
我想知道如何使用AuthorizationServerConfigurerAdapter使用Java Config扩展授权服务器,而不会丢失包含隐式,客户端凭据,刷新令牌和授权代码授权类型的默认配置.
首次尝试使用@Component创建TokenGranter:
@Component("customTokenGranter")
public class CustomTokenGranter {
//implementation
}
这导致依赖性解决异常,因为构造Granter所需的tokenServices无法自动装配.
第二次尝试使用configure方法
@Override
public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception
{
endpoints
.tokenGranter(new CustomTokenGranter(endpoints.getTokenServices(),endpoints.getClientDetailsService(),endpoints.getOAuth2RequestFactory()));
}
使用此选项,将不会注册默认授权类型.
最佳答案
您还需要添加默认值,例如使用CompositeTokenGranter:
List