File tree Expand file tree Collapse file tree 15 files changed +131
-91
lines changed
Microsoft.Identity.Web.TokenAcquisition
Microsoft.Identity.Web/WebApiExtensions
tests/Microsoft.Identity.Web.Test Expand file tree Collapse file tree 15 files changed +131
-91
lines changed Original file line number Diff line number Diff line change 1+ // Copyright (c) Microsoft Corporation. All rights reserved.
2+ // Licensed under the MIT License.
3+
4+ using System . Net . Http ;
5+ using Microsoft . Identity . Client ;
6+
7+ namespace Microsoft . Identity . Web
8+ {
9+ /// <summary>
10+ /// Adapts the base class <see cref="IHttpClientFactory"/> to MSAL's
11+ /// <see cref="IMsalHttpClientFactory"/> so managed-identity code
12+ /// can stay DI-friendly without static hooks.
13+ /// </summary>
14+ internal sealed class DefaultManagedIdentityHttpClientFactory
15+ : IManagedIdentityHttpClientFactory ,
16+ IMsalHttpClientFactory
17+ {
18+ private readonly IHttpClientFactory _http ;
19+
20+ public DefaultManagedIdentityHttpClientFactory ( IHttpClientFactory http ) =>
21+ _http = http ;
22+
23+ public IMsalHttpClientFactory Create ( ) => this ;
24+
25+ public HttpClient GetHttpClient ( ) => _http . CreateClient ( ) ;
26+ }
27+ }
Original file line number Diff line number Diff line change 1+ // Copyright (c) Microsoft Corporation. All rights reserved.
2+ // Licensed under the MIT License.
3+
4+ using Microsoft . Identity . Client ;
5+
6+ namespace Microsoft . Identity . Web
7+ {
8+ /// <summary>
9+ /// Internal abstraction so unit-tests can supply a custom
10+ /// <see cref="IMsalHttpClientFactory"/>.
11+ /// </summary>
12+ internal interface IManagedIdentityHttpClientFactory
13+ {
14+ IMsalHttpClientFactory Create ( ) ;
15+ }
16+ }
Original file line number Diff line number Diff line change 1- Microsoft.Identity.Web.ManagedIdentityTestHooks
2- Microsoft.Identity.Web.TestOnly.TokenAcquirerTestHooks
3- static Microsoft.Identity.Web.ManagedIdentityTestHooks.HttpClientFactoryOverride.get -> Microsoft.Identity.Client.IMsalHttpClientFactory?
4- static Microsoft.Identity.Web.ManagedIdentityTestHooks.HttpClientFactoryOverride.set -> void
1+ Microsoft.Identity.Web.DefaultManagedIdentityHttpClientFactory
2+ Microsoft.Identity.Web.DefaultManagedIdentityHttpClientFactory.Create() -> Microsoft.Identity.Client.IMsalHttpClientFactory!
3+ Microsoft.Identity.Web.DefaultManagedIdentityHttpClientFactory.DefaultManagedIdentityHttpClientFactory(System.Net.Http.IHttpClientFactory! http) -> void
4+ Microsoft.Identity.Web.DefaultManagedIdentityHttpClientFactory.GetHttpClient() -> System.Net.Http.HttpClient!
5+ Microsoft.Identity.Web.IManagedIdentityHttpClientFactory
6+ Microsoft.Identity.Web.IManagedIdentityHttpClientFactory.Create() -> Microsoft.Identity.Client.IMsalHttpClientFactory!
7+ Microsoft.Identity.Web.TokenAcquisition.IManagedIdentityHttpClientFactory.Create() -> Microsoft.Identity.Client.IMsalHttpClientFactory!
58const Microsoft.Identity.Web.IDWebErrorMessage.ExceptionAcquiringTokenForConfidentialClient = "IDW10501: Exception acquiring token for a confidential client: " -> string!
6- static Microsoft.Identity.Web.TestOnly.TokenAcquirerTestHooks.HttpClientFactoryOverride.get -> Microsoft.Identity.Client.IMsalHttpClientFactory?
7- static Microsoft.Identity.Web.TestOnly.TokenAcquirerTestHooks.UseTestHttpClientFactory(Microsoft.Identity.Client.IMsalHttpClientFactory! factory) -> void
Original file line number Diff line number Diff line change 1- Microsoft.Identity.Web.ManagedIdentityTestHooks
2- Microsoft.Identity.Web.TestOnly.TokenAcquirerTestHooks
3- static Microsoft.Identity.Web.ManagedIdentityTestHooks.HttpClientFactoryOverride.get -> Microsoft.Identity.Client.IMsalHttpClientFactory?
4- static Microsoft.Identity.Web.ManagedIdentityTestHooks.HttpClientFactoryOverride.set -> void
1+ Microsoft.Identity.Web.DefaultManagedIdentityHttpClientFactory
2+ Microsoft.Identity.Web.DefaultManagedIdentityHttpClientFactory.Create() -> Microsoft.Identity.Client.IMsalHttpClientFactory!
3+ Microsoft.Identity.Web.DefaultManagedIdentityHttpClientFactory.DefaultManagedIdentityHttpClientFactory(System.Net.Http.IHttpClientFactory! http) -> void
4+ Microsoft.Identity.Web.DefaultManagedIdentityHttpClientFactory.GetHttpClient() -> System.Net.Http.HttpClient!
5+ Microsoft.Identity.Web.IManagedIdentityHttpClientFactory
6+ Microsoft.Identity.Web.IManagedIdentityHttpClientFactory.Create() -> Microsoft.Identity.Client.IMsalHttpClientFactory!
7+ Microsoft.Identity.Web.TokenAcquisition.IManagedIdentityHttpClientFactory.Create() -> Microsoft.Identity.Client.IMsalHttpClientFactory!
58const Microsoft.Identity.Web.IDWebErrorMessage.ExceptionAcquiringTokenForConfidentialClient = "IDW10501: Exception acquiring token for a confidential client: " -> string!
6- static Microsoft.Identity.Web.TestOnly.TokenAcquirerTestHooks.HttpClientFactoryOverride.get -> Microsoft.Identity.Client.IMsalHttpClientFactory?
7- static Microsoft.Identity.Web.TestOnly.TokenAcquirerTestHooks.UseTestHttpClientFactory(Microsoft.Identity.Client.IMsalHttpClientFactory! factory) -> void
Original file line number Diff line number Diff line change 1- Microsoft.Identity.Web.ManagedIdentityTestHooks
2- Microsoft.Identity.Web.TestOnly.TokenAcquirerTestHooks
3- static Microsoft.Identity.Web.ManagedIdentityTestHooks.HttpClientFactoryOverride.get -> Microsoft.Identity.Client.IMsalHttpClientFactory?
4- static Microsoft.Identity.Web.ManagedIdentityTestHooks.HttpClientFactoryOverride.set -> void
1+ Microsoft.Identity.Web.DefaultManagedIdentityHttpClientFactory
2+ Microsoft.Identity.Web.DefaultManagedIdentityHttpClientFactory.Create() -> Microsoft.Identity.Client.IMsalHttpClientFactory!
3+ Microsoft.Identity.Web.DefaultManagedIdentityHttpClientFactory.DefaultManagedIdentityHttpClientFactory(System.Net.Http.IHttpClientFactory! http) -> void
4+ Microsoft.Identity.Web.DefaultManagedIdentityHttpClientFactory.GetHttpClient() -> System.Net.Http.HttpClient!
5+ Microsoft.Identity.Web.IManagedIdentityHttpClientFactory
6+ Microsoft.Identity.Web.IManagedIdentityHttpClientFactory.Create() -> Microsoft.Identity.Client.IMsalHttpClientFactory!
7+ Microsoft.Identity.Web.TokenAcquisition.IManagedIdentityHttpClientFactory.Create() -> Microsoft.Identity.Client.IMsalHttpClientFactory!
58const Microsoft.Identity.Web.IDWebErrorMessage.ExceptionAcquiringTokenForConfidentialClient = "IDW10501: Exception acquiring token for a confidential client: " -> string!
6- static Microsoft.Identity.Web.TestOnly.TokenAcquirerTestHooks.HttpClientFactoryOverride.get -> Microsoft.Identity.Client.IMsalHttpClientFactory?
7- static Microsoft.Identity.Web.TestOnly.TokenAcquirerTestHooks.UseTestHttpClientFactory(Microsoft.Identity.Client.IMsalHttpClientFactory! factory) -> void
Original file line number Diff line number Diff line change 1- Microsoft.Identity.Web.ManagedIdentityTestHooks
2- Microsoft.Identity.Web.TestOnly.TokenAcquirerTestHooks
3- static Microsoft.Identity.Web.ManagedIdentityTestHooks.HttpClientFactoryOverride.get -> Microsoft.Identity.Client.IMsalHttpClientFactory?
4- static Microsoft.Identity.Web.ManagedIdentityTestHooks.HttpClientFactoryOverride.set -> void
1+ Microsoft.Identity.Web.DefaultManagedIdentityHttpClientFactory
2+ Microsoft.Identity.Web.DefaultManagedIdentityHttpClientFactory.Create() -> Microsoft.Identity.Client.IMsalHttpClientFactory!
3+ Microsoft.Identity.Web.DefaultManagedIdentityHttpClientFactory.DefaultManagedIdentityHttpClientFactory(System.Net.Http.IHttpClientFactory! http) -> void
4+ Microsoft.Identity.Web.DefaultManagedIdentityHttpClientFactory.GetHttpClient() -> System.Net.Http.HttpClient!
5+ Microsoft.Identity.Web.IManagedIdentityHttpClientFactory
6+ Microsoft.Identity.Web.IManagedIdentityHttpClientFactory.Create() -> Microsoft.Identity.Client.IMsalHttpClientFactory!
7+ Microsoft.Identity.Web.TokenAcquisition.IManagedIdentityHttpClientFactory.Create() -> Microsoft.Identity.Client.IMsalHttpClientFactory!
58const Microsoft.Identity.Web.IDWebErrorMessage.ExceptionAcquiringTokenForConfidentialClient = "IDW10501: Exception acquiring token for a confidential client: " -> string!
6- static Microsoft.Identity.Web.TestOnly.TokenAcquirerTestHooks.HttpClientFactoryOverride.get -> Microsoft.Identity.Client.IMsalHttpClientFactory?
7- static Microsoft.Identity.Web.TestOnly.TokenAcquirerTestHooks.UseTestHttpClientFactory(Microsoft.Identity.Client.IMsalHttpClientFactory! factory) -> void
Original file line number Diff line number Diff line change 1- Microsoft.Identity.Web.ManagedIdentityTestHooks
2- Microsoft.Identity.Web.TestOnly.TokenAcquirerTestHooks
3- static Microsoft.Identity.Web.ManagedIdentityTestHooks.HttpClientFactoryOverride.get -> Microsoft.Identity.Client.IMsalHttpClientFactory?
4- static Microsoft.Identity.Web.ManagedIdentityTestHooks.HttpClientFactoryOverride.set -> void
1+ Microsoft.Identity.Web.DefaultManagedIdentityHttpClientFactory
2+ Microsoft.Identity.Web.DefaultManagedIdentityHttpClientFactory.Create() -> Microsoft.Identity.Client.IMsalHttpClientFactory!
3+ Microsoft.Identity.Web.DefaultManagedIdentityHttpClientFactory.DefaultManagedIdentityHttpClientFactory(System.Net.Http.IHttpClientFactory! http) -> void
4+ Microsoft.Identity.Web.DefaultManagedIdentityHttpClientFactory.GetHttpClient() -> System.Net.Http.HttpClient!
5+ Microsoft.Identity.Web.IManagedIdentityHttpClientFactory
6+ Microsoft.Identity.Web.IManagedIdentityHttpClientFactory.Create() -> Microsoft.Identity.Client.IMsalHttpClientFactory!
7+ Microsoft.Identity.Web.TokenAcquisition.IManagedIdentityHttpClientFactory.Create() -> Microsoft.Identity.Client.IMsalHttpClientFactory!
58const Microsoft.Identity.Web.IDWebErrorMessage.ExceptionAcquiringTokenForConfidentialClient = "IDW10501: Exception acquiring token for a confidential client: " -> string!
6- static Microsoft.Identity.Web.TestOnly.TokenAcquirerTestHooks.HttpClientFactoryOverride.get -> Microsoft.Identity.Client.IMsalHttpClientFactory?
7- static Microsoft.Identity.Web.TestOnly.TokenAcquirerTestHooks.UseTestHttpClientFactory(Microsoft.Identity.Client.IMsalHttpClientFactory! factory) -> void
Original file line number Diff line number Diff line change 1- Microsoft.Identity.Web.ManagedIdentityTestHooks
2- Microsoft.Identity.Web.TestOnly.TokenAcquirerTestHooks
3- static Microsoft.Identity.Web.ManagedIdentityTestHooks.HttpClientFactoryOverride.get -> Microsoft.Identity.Client.IMsalHttpClientFactory?
4- static Microsoft.Identity.Web.ManagedIdentityTestHooks.HttpClientFactoryOverride.set -> void
1+ Microsoft.Identity.Web.DefaultManagedIdentityHttpClientFactory
2+ Microsoft.Identity.Web.DefaultManagedIdentityHttpClientFactory.Create() -> Microsoft.Identity.Client.IMsalHttpClientFactory!
3+ Microsoft.Identity.Web.DefaultManagedIdentityHttpClientFactory.DefaultManagedIdentityHttpClientFactory(System.Net.Http.IHttpClientFactory! http) -> void
4+ Microsoft.Identity.Web.DefaultManagedIdentityHttpClientFactory.GetHttpClient() -> System.Net.Http.HttpClient!
5+ Microsoft.Identity.Web.IManagedIdentityHttpClientFactory
6+ Microsoft.Identity.Web.IManagedIdentityHttpClientFactory.Create() -> Microsoft.Identity.Client.IMsalHttpClientFactory!
7+ Microsoft.Identity.Web.TokenAcquisition.IManagedIdentityHttpClientFactory.Create() -> Microsoft.Identity.Client.IMsalHttpClientFactory!
58const Microsoft.Identity.Web.IDWebErrorMessage.ExceptionAcquiringTokenForConfidentialClient = "IDW10501: Exception acquiring token for a confidential client: " -> string!
6- static Microsoft.Identity.Web.TestOnly.TokenAcquirerTestHooks.HttpClientFactoryOverride.get -> Microsoft.Identity.Client.IMsalHttpClientFactory?
7- static Microsoft.Identity.Web.TestOnly.TokenAcquirerTestHooks.UseTestHttpClientFactory(Microsoft.Identity.Client.IMsalHttpClientFactory! factory) -> void
Original file line number Diff line number Diff line change 1- Microsoft.Identity.Web.ManagedIdentityTestHooks
2- Microsoft.Identity.Web.TestOnly.TokenAcquirerTestHooks
3- static Microsoft.Identity.Web.ManagedIdentityTestHooks.HttpClientFactoryOverride.get -> Microsoft.Identity.Client.IMsalHttpClientFactory?
4- static Microsoft.Identity.Web.ManagedIdentityTestHooks.HttpClientFactoryOverride.set -> void
1+ Microsoft.Identity.Web.DefaultManagedIdentityHttpClientFactory
2+ Microsoft.Identity.Web.DefaultManagedIdentityHttpClientFactory.Create() -> Microsoft.Identity.Client.IMsalHttpClientFactory!
3+ Microsoft.Identity.Web.DefaultManagedIdentityHttpClientFactory.DefaultManagedIdentityHttpClientFactory(System.Net.Http.IHttpClientFactory! http) -> void
4+ Microsoft.Identity.Web.DefaultManagedIdentityHttpClientFactory.GetHttpClient() -> System.Net.Http.HttpClient!
5+ Microsoft.Identity.Web.IManagedIdentityHttpClientFactory
6+ Microsoft.Identity.Web.IManagedIdentityHttpClientFactory.Create() -> Microsoft.Identity.Client.IMsalHttpClientFactory!
7+ Microsoft.Identity.Web.TokenAcquisition.IManagedIdentityHttpClientFactory.Create() -> Microsoft.Identity.Client.IMsalHttpClientFactory!
58const Microsoft.Identity.Web.IDWebErrorMessage.ExceptionAcquiringTokenForConfidentialClient = "IDW10501: Exception acquiring token for a confidential client: " -> string!
6- static Microsoft.Identity.Web.TestOnly.TokenAcquirerTestHooks.HttpClientFactoryOverride.get -> Microsoft.Identity.Client.IMsalHttpClientFactory?
7- static Microsoft.Identity.Web.TestOnly.TokenAcquirerTestHooks.UseTestHttpClientFactory(Microsoft.Identity.Client.IMsalHttpClientFactory! factory) -> void
Load Diff This file was deleted.
You can’t perform that action at this time.
0 commit comments