Browse Source

Don't require configuration for Auth (#45095)

Hao Kung 3 years ago
parent
commit
a5175fee41

+ 5 - 3
src/Security/Authentication/Core/src/DefaultAuthenticationConfigurationProvider.cs

@@ -10,10 +10,12 @@ internal sealed class DefaultAuthenticationConfigurationProvider : IAuthenticati
     private readonly IConfiguration _configuration;
     private const string AuthenticationKey = "Authentication";
 
+    // Note: this generally will never be called except in unit tests as IConfiguration is generally available from the host
+    public DefaultAuthenticationConfigurationProvider() : this(new ConfigurationManager())
+    { }
+
     public DefaultAuthenticationConfigurationProvider(IConfiguration configuration)
-    {
-        _configuration = configuration;
-    }
+        => _configuration = configuration;
 
     public IConfiguration AuthenticationConfiguration => _configuration.GetSection(AuthenticationKey);
 }

+ 2 - 8
src/Security/Authentication/test/TestExtensions.cs

@@ -7,7 +7,6 @@ using System.Text;
 using System.Xml.Linq;
 using Microsoft.AspNetCore.Http;
 using Microsoft.AspNetCore.TestHost;
-using Microsoft.Extensions.Configuration;
 using Microsoft.Extensions.DependencyInjection;
 
 namespace Microsoft.AspNetCore.Authentication;
@@ -80,11 +79,6 @@ public static class TestExtensions
     }
 
     public static IServiceCollection ConfigureAuthTestServices(this IServiceCollection services)
-    {
-        return services
-            .AddOptions()
-            .AddLogging()
-            .AddSingleton<IConfiguration>(new ConfigurationManager());
-    }
-
+        => services.AddOptions()
+                   .AddLogging();
 }