Java 如何设置自定义OAuth2RestTemplate或自定义OAuth2ProtectedResourceDetails?

Java 如何设置自定义OAuth2RestTemplate或自定义OAuth2ProtectedResourceDetails?,java,spring,spring-security-oauth2,Java,Spring,Spring Security Oauth2,我的前端应用程序已启用@enableAuth2sso。此外,我还想使用定制的OAuth2ProtectedResourceDetails注入所有OAuth2RestTemplate bean(特别是在OAuth2RestorationsConfiguration中重新定义OAuth2RestTemplate的行为)。 我刚刚为OAuth2ProtectedResourceDetails定义了自己的bean,但OAuth2RestTemplate仍然使用AuthorizationCodeResou

我的前端应用程序已启用@enableAuth2sso。此外,我还想使用定制的OAuth2ProtectedResourceDetails注入所有OAuth2RestTemplate bean(特别是在OAuth2RestorationsConfiguration中重新定义OAuth2RestTemplate的行为)。 我刚刚为OAuth2ProtectedResourceDetails定义了自己的bean,但OAuth2RestTemplate仍然使用AuthorizationCodeResourceDetails)


我应该以某种方式重新定义整个OAuth2RestTemplatebean,还是只重新定义这个OAuth2ProtectedResourceDetails?

您应该能够用自己的配置重载在OAuth2RestOperations配置中设置的bean

    @Bean
    @ConfigurationProperties("security.oauth2.client")
    public ClientCredentialsResourceDetails oauth2RemoteResource() {
        ClientCredentialsResourceDetails details = new ClientCredentialsResourceDetails();
        return details;
    }
如果没有,就创建自己的bean

@Bean
@ConfigurationProperties("security.oauth2.client")
public ClientCredentialsResourceDetails customOauth2RemoteResource() {
    ClientCredentialsResourceDetails details = new ClientCredentialsResourceDetails();
    return details;
}

@Bean
public OAuth2RestTemplate customOauth2RestTemplate() {
    OAuth2RestTemplate template = new OAuth2RestTemplate(customOauth2RemoteResource(),
            new DefaultOAuth2ClientContext());
    return template;
}
然后使用@Qualifier引用它们

@Autowired
@Qualifier("customOauth2RestTemplate")
private RestTemplate restTemplate;
@Autowired
@Qualifier("customOauth2RestTemplate")
private RestTemplate restTemplate;