相关疑难解决方法(0)

Spring Security OAuth2,版本2.0中带有自定义TokenGranter.+

在以前版本的OAuth2中,可以通过将自定义标记granter添加到<authorization-server>元素中的xml配置来添加它.

我想知道如何使用AuthorizationServerConfigurerAdapter使用Java Config扩展授权服务器,而不会丢失包含隐式,客户端凭据,刷新令牌和授权代码授权类型的默认配置.

首次尝试使用@Component创建TokenGranter:

@Component("customTokenGranter")
public class CustomTokenGranter {
     //implementation
}
Run Code Online (Sandbox Code Playgroud)

这导致依赖性解决异常,因为构造Granter所需的tokenServices无法自动装配.

第二次尝试使用configure方法

@Override
public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception
{
    endpoints
        .tokenGranter(new CustomTokenGranter(endpoints.getTokenServices(),
                endpoints.getClientDetailsService(), endpoints.getOAuth2RequestFactory()));

}
Run Code Online (Sandbox Code Playgroud)

使用此选项,将不会注册默认授权类型.

我也尝试了低阶的第二种配置,但没有成功.我还可以做些什么来添加自定义授权类型?

java spring spring-security-oauth2 spring-java-config

8
推荐指数
3
解决办法
8762
查看次数