Hi rogier
I found myself in the same situation as you. I couldn’t make the Interceptor to be triggered and so my request failed as it did not contained the audience property. I went for a different approach then.
I basically added an extra AccessTokenProvider to the RestTemplate. That AccessTokenProvider has an RequestEnhancer which is in charge to add extra parameters to the request. It looks like:
//Create the Resource Details
ClientCredentialsResourceDetails resourceDetails = new ClientCredentialsResourceDetails();
resourceDetails.setClientId(config.getString("auth0.clientId"));
resourceDetails.setClientSecret(config.getString("auth0.clientSecret"));
resourceDetails.setAccessTokenUri(config.getString("auth0.issuer"));
resourceDetails.setClientAuthenticationScheme(AuthenticationScheme.query);
//Add extra parameters
DefaultAccessTokenRequest defaultAccessTokenRequest = new DefaultAccessTokenRequest();
Map<String,String> params = new HashMap<>();
params.put("audience",config.getString("auth0.audience"));
defaultAccessTokenRequest.setAll(params);
//Create a RequestEnhancer that will look for extra parameters
DefaultRequestEnhancer defaultRequestEnhancer = new DefaultRequestEnhancer();
defaultRequestEnhancer.setParameterIncludes(Collections.singletonList("audience"));
//Create a new Token Provider
ClientCredentialsAccessTokenProvider clientCredentialsAccessTokenProvider = new ClientCredentialsAccessTokenProvider();
clientCredentialsAccessTokenProvider.setTokenRequestEnhancer(defaultRequestEnhancer);
//Create the RestTemplate and add a the Token Provider
this.restTemplate = new HalOAuth2RestTemplate(resourceDetails,new DefaultOAuth2ClientContext(defaultAccessTokenRequest));
this.restTemplate.setRequestFactory(new HttpComponentsClientHttpRequestFactory());
this.restTemplate.setAccessTokenProvider(clientCredentialsAccessTokenProvider);
It has the same result as adding the Interceptor, but not sure if it will suit your requirements.