下面列出了怎么用org.springframework.boot.autoconfigure.security.oauth2.resource.UserInfoRestTemplateCustomizer的API类实例代码及写法,或者点击链接到github查看源代码。
@Bean
public UserInfoRestTemplateCustomizer userInfoRestTemplateCustomizer(
TraceRestTemplateInterceptor traceRestTemplateInterceptor) {
return restTemplate -> {
List<ClientHttpRequestInterceptor> interceptors = new ArrayList<>(
restTemplate.getInterceptors());
interceptors.add(traceRestTemplateInterceptor);
restTemplate.setInterceptors(interceptors);
};
}
@Bean
public UserInfoRestTemplateCustomizer userInfoRestTemplateCustomizer(
TraceRestTemplateInterceptor traceRestTemplateInterceptor) {
return restTemplate -> {
List<ClientHttpRequestInterceptor> interceptors = new ArrayList<>(
restTemplate.getInterceptors());
interceptors.add(traceRestTemplateInterceptor);
restTemplate.setInterceptors(interceptors);
};
}
@Override
public Object postProcessAfterInitialization(final Object bean,
String beanName) throws BeansException {
final BeanFactory beanFactory = this.beanFactory;
if (bean instanceof UserInfoRestTemplateCustomizer
&& !(bean instanceof TraceUserInfoRestTemplateCustomizer)) {
return new TraceUserInfoRestTemplateCustomizer(beanFactory, bean);
}
return bean;
}
@Override
public void customize(OAuth2RestTemplate template) {
final TracingClientHttpRequestInterceptor interceptor = this.beanFactory
.getBean(TracingClientHttpRequestInterceptor.class);
new RestTemplateInterceptorInjector(interceptor).inject(template);
if (this.delegate != null) {
((UserInfoRestTemplateCustomizer) this.delegate).customize(template);
}
}
@Bean
public UserInfoRestTemplateCustomizer loadBalancedUserInfoRestTemplateCustomizer(
final LoadBalancerInterceptor loadBalancerInterceptor) {
return new UserInfoRestTemplateCustomizer() {
@Override
public void customize(OAuth2RestTemplate restTemplate) {
List<ClientHttpRequestInterceptor> interceptors = new ArrayList<>(
restTemplate.getInterceptors());
interceptors.add(loadBalancerInterceptor);
restTemplate.setInterceptors(interceptors);
}
};
}
@Bean
public UserInfoRestTemplateCustomizer retryLoadBalancedUserInfoRestTemplateCustomizer(
final RetryLoadBalancerInterceptor loadBalancerInterceptor) {
return new UserInfoRestTemplateCustomizer() {
@Override
public void customize(OAuth2RestTemplate restTemplate) {
List<ClientHttpRequestInterceptor> interceptors = new ArrayList<>(
restTemplate.getInterceptors());
interceptors.add(loadBalancerInterceptor);
restTemplate.setInterceptors(interceptors);
}
};
}
@Bean
@ConditionalOnMissingBean
static UserInfoRestTemplateCustomizer traceUserInfoRestTemplateCustomizer(
BeanFactory beanFactory) {
return new TraceUserInfoRestTemplateCustomizer(beanFactory);
}