3737
3838public class LazyHttpClient implements HttpClient {
3939
40- private static final String APPLICATIONINSIGHTS_AUTHENTICATION_SCOPE =
41- "https://monitor.azure.com//.default" ;
42-
4340 private static final HttpClient INSTANCE = new LazyHttpClient ();
4441
4542 public static final CountDownLatch safeToInitLatch = new CountDownLatch (1 );
@@ -113,16 +110,18 @@ private static HttpClient init() {
113110 }
114111
115112 public static HttpPipeline newHttpPipeLineWithDefaultRedirect (
116- @ Nullable Configuration .AadAuthentication aadConfiguration ) {
117- return newHttpPipeLine (aadConfiguration , new RedirectPolicy (new DefaultRedirectStrategy ()));
113+ @ Nullable Configuration .AadAuthentication aadConfiguration ,
114+ String aadAudienceWithScope ) {
115+ return newHttpPipeLine (aadConfiguration , aadAudienceWithScope , new RedirectPolicy (new DefaultRedirectStrategy ()));
118116 }
119117
120118 public static HttpPipeline newHttpPipeLine (
121119 @ Nullable Configuration .AadAuthentication aadConfiguration ,
120+ String aadAudienceWithScope ,
122121 HttpPipelinePolicy ... additionalPolicies ) {
123122 List <HttpPipelinePolicy > policies = new ArrayList <>();
124123 if (aadConfiguration != null && aadConfiguration .enabled ) {
125- policies .add (getAuthenticationPolicy (aadConfiguration ));
124+ policies .add (getAuthenticationPolicy (aadConfiguration , aadAudienceWithScope ));
126125 }
127126 policies .addAll (asList (additionalPolicies ));
128127 // Add Logging Policy. Can be enabled using AZURE_LOG_LEVEL.
@@ -144,31 +143,34 @@ public Mono<HttpResponse> send(HttpRequest request, Context context) {
144143 }
145144
146145 private static HttpPipelinePolicy getAuthenticationPolicy (
147- Configuration .AadAuthentication configuration ) {
146+ Configuration .AadAuthentication configuration ,
147+ String aadAudienceWithScope ) {
148148 switch (configuration .type ) {
149149 case UAMI :
150- return getAuthenticationPolicyWithUami (configuration );
150+ return getAuthenticationPolicyWithUami (configuration , aadAudienceWithScope );
151151 case SAMI :
152- return getAuthenticationPolicyWithSami ();
152+ return getAuthenticationPolicyWithSami (aadAudienceWithScope );
153153 case VSCODE :
154- return getAuthenticationPolicyWithVsCode ();
154+ return getAuthenticationPolicyWithVsCode (aadAudienceWithScope );
155155 case CLIENTSECRET :
156- return getAuthenticationPolicyWithClientSecret (configuration );
156+ return getAuthenticationPolicyWithClientSecret (configuration , aadAudienceWithScope );
157157 }
158158 throw new IllegalStateException (
159159 "Invalid Authentication Type used in AAD Authentication: " + configuration .type );
160160 }
161161
162162 private static HttpPipelinePolicy getAuthenticationPolicyWithUami (
163- Configuration .AadAuthentication configuration ) {
163+ Configuration .AadAuthentication configuration ,
164+ String aadAudienceWithScope ) {
164165 ManagedIdentityCredentialBuilder managedIdentityCredential =
165166 new ManagedIdentityCredentialBuilder ().clientId (configuration .clientId );
166167 return new BearerTokenAuthenticationPolicy (
167- managedIdentityCredential .build (), APPLICATIONINSIGHTS_AUTHENTICATION_SCOPE );
168+ managedIdentityCredential .build (), aadAudienceWithScope );
168169 }
169170
170171 private static HttpPipelinePolicy getAuthenticationPolicyWithClientSecret (
171- Configuration .AadAuthentication configuration ) {
172+ Configuration .AadAuthentication configuration ,
173+ String aadAudienceWithScope ) {
172174 ClientSecretCredentialBuilder credential =
173175 new ClientSecretCredentialBuilder ()
174176 .tenantId (configuration .tenantId )
@@ -178,20 +180,22 @@ private static HttpPipelinePolicy getAuthenticationPolicyWithClientSecret(
178180 credential .authorityHost (configuration .authorityHost );
179181 }
180182 return new BearerTokenAuthenticationPolicy (
181- credential .build (), APPLICATIONINSIGHTS_AUTHENTICATION_SCOPE );
183+ credential .build (), aadAudienceWithScope );
182184 }
183185
184- private static HttpPipelinePolicy getAuthenticationPolicyWithVsCode () {
186+ private static HttpPipelinePolicy getAuthenticationPolicyWithVsCode (
187+ String aadAudienceWithScope ) {
185188 VisualStudioCodeCredential visualStudioCodeCredential =
186189 new VisualStudioCodeCredentialBuilder ().build ();
187190 return new BearerTokenAuthenticationPolicy (
188- visualStudioCodeCredential , APPLICATIONINSIGHTS_AUTHENTICATION_SCOPE );
191+ visualStudioCodeCredential , aadAudienceWithScope );
189192 }
190193
191- private static HttpPipelinePolicy getAuthenticationPolicyWithSami () {
194+ private static HttpPipelinePolicy getAuthenticationPolicyWithSami (
195+ String aadAudienceWithScope ) {
192196 ManagedIdentityCredential managedIdentityCredential =
193197 new ManagedIdentityCredentialBuilder ().build ();
194198 return new BearerTokenAuthenticationPolicy (
195- managedIdentityCredential , APPLICATIONINSIGHTS_AUTHENTICATION_SCOPE );
199+ managedIdentityCredential , aadAudienceWithScope );
196200 }
197201}
0 commit comments