anchor.diff:      @GET
       String getUserName();
   }
  -```
  -
  +----
   or
   
  -```
  +[source,java]
  +----
   import org.eclipse.microprofile.rest.client.annotation.RegisterProvider;
   import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;
   import io.quarkus.oidc.token.propagation.AccessTokenRequestFilter;
  
positive.code:     @GET
      String getUserName();
  }
  ```
  
  or
  
  ```
  import org.eclipse.microprofile.rest.client.annotation.RegisterProvider;
  import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;
  import io.quarkus.oidc.client.filter.OidcClientRequestFilter;
  
negative.code:         requestContext.getHeaders().add(HttpHeaders.AUTHORIZATION, "Bearer " + tokens.getAccessToken());
      }
  }
  ----
  
  The `Tokens` producer will acquire and refresh the tokens, and the custom filter will decide how and when to use the token.
  
  See also the previous section about delaying the token acquisition in some cases.
  
  