在 OAuth2 的早期版本中,可以通过将自定义令牌授予者添加到以下位置的 xml 配置中来添加自定义令牌授予者:<authorization-server>
元素。
我想知道如何使用 AuthorizationServerConfigurerAdapter 通过 Java Config 扩展授权服务器,而不丢失默认配置,其中包含隐式客户端凭据、刷新令牌和授权代码授予类型。
第一次尝试是使用 @Component 创建 TokenGranter:
@Component("customTokenGranter")
public class CustomTokenGranter {
//implementation
}
这会导致依赖解析异常,因为构建 Granter 所需的 tokenService 无法自动装配。
第二次尝试是使用配置方法
@Override
public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception
{
endpoints
.tokenGranter(new CustomTokenGranter(endpoints.getTokenServices(),
endpoints.getClientDetailsService(), endpoints.getOAuth2RequestFactory()));
}
使用此功能,将不会注册默认的授权类型。
我还尝试了较低阶的第二种配置,但没有成功。
我还可以做什么来添加自定义资助类型?
您还需要添加默认的,例如用一个CompositeTokenGranter
:
List<TokenGranter> tokenGranters = getTokenGranters(); // implementation up to you
tokenGranter = new CompositeTokenGranter(tokenGranters);
endpoints.tokenGranter(tokenGranter);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)