From 649cb0caed153f30c79f4fa9fab544dc2b282b12 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Wed, 11 Mar 2015 15:41:43 -0700 Subject: [PATCH] Remove IConfiguration from AddIdentity --- samples/IdentitySample.Mvc/Startup.cs | 2 +- .../IdentityServiceCollectionExtensions.cs | 32 ++++++++----------- .../SqlStoreTestBase.cs | 2 +- .../UserStoreTest.cs | 2 +- .../IdentityOptionsTest.cs | 20 ++++-------- 5 files changed, 22 insertions(+), 36 deletions(-) diff --git a/samples/IdentitySample.Mvc/Startup.cs b/samples/IdentitySample.Mvc/Startup.cs index b1ebf48e26..4d190c54ad 100644 --- a/samples/IdentitySample.Mvc/Startup.cs +++ b/samples/IdentitySample.Mvc/Startup.cs @@ -36,7 +36,7 @@ namespace IdentitySamples options.DefaultAdminPassword = Configuration.Get("DefaultAdminPassword"); }); - services.AddIdentity(Configuration) + services.AddIdentity() .AddEntityFrameworkStores() .AddDefaultTokenProviders(); diff --git a/src/Microsoft.AspNet.Identity/IdentityServiceCollectionExtensions.cs b/src/Microsoft.AspNet.Identity/IdentityServiceCollectionExtensions.cs index 83045c3318..df4b92f59d 100644 --- a/src/Microsoft.AspNet.Identity/IdentityServiceCollectionExtensions.cs +++ b/src/Microsoft.AspNet.Identity/IdentityServiceCollectionExtensions.cs @@ -18,36 +18,30 @@ namespace Microsoft.Framework.DependencyInjection return services.Configure(configure); } - public static IdentityBuilder AddIdentity(this IServiceCollection services) + public static IServiceCollection ConfigureIdentity(this IServiceCollection services, IConfiguration config) { - return services.AddIdentity(); + return services.Configure(config); } - public static IdentityBuilder AddIdentity( - this IServiceCollection services, - IConfiguration identityConfig = null, - Action configureOptions = null, - bool useDefaultSubKey = true) + public static IdentityBuilder AddIdentity(this IServiceCollection services) { - return services.AddIdentity(identityConfig, configureOptions, useDefaultSubKey); + return services.AddIdentity(configureOptions: null); + } + + public static IdentityBuilder AddIdentity( + this IServiceCollection services) + where TUser : class + where TRole : class + { + return services.AddIdentity(configureOptions: null); } public static IdentityBuilder AddIdentity( this IServiceCollection services, - IConfiguration identityConfig = null, - Action configureOptions = null, - bool useDefaultSubKey = true) + Action configureOptions) where TUser : class where TRole : class { - if (identityConfig != null) - { - if (useDefaultSubKey) - { - identityConfig = identityConfig.GetSubKey("identity"); - } - services.Configure(identityConfig); - } // Services used by identity services.AddOptions(); services.AddDataProtection(); diff --git a/test/Microsoft.AspNet.Identity.EntityFramework.Test/SqlStoreTestBase.cs b/test/Microsoft.AspNet.Identity.EntityFramework.Test/SqlStoreTestBase.cs index 72b6275eda..9ea7afa0fe 100644 --- a/test/Microsoft.AspNet.Identity.EntityFramework.Test/SqlStoreTestBase.cs +++ b/test/Microsoft.AspNet.Identity.EntityFramework.Test/SqlStoreTestBase.cs @@ -107,7 +107,7 @@ namespace Microsoft.AspNet.Identity.EntityFramework.Test builder.UseServices(services => { DbUtil.ConfigureDbServices(ConnectionString, services); - services.AddIdentity(null, options => + services.AddIdentity(options => { options.Password.RequiredLength = 1; options.Password.RequireLowercase = false; diff --git a/test/Microsoft.AspNet.Identity.EntityFramework.Test/UserStoreTest.cs b/test/Microsoft.AspNet.Identity.EntityFramework.Test/UserStoreTest.cs index 02d42120d7..988af2a93e 100644 --- a/test/Microsoft.AspNet.Identity.EntityFramework.Test/UserStoreTest.cs +++ b/test/Microsoft.AspNet.Identity.EntityFramework.Test/UserStoreTest.cs @@ -77,7 +77,7 @@ namespace Microsoft.AspNet.Identity.EntityFramework.Test services.AddEntityFramework() .AddSqlServer() .AddDbContext(options => options.UseSqlServer(ConnectionString)); - services.AddIdentity(null, options => + services.AddIdentity(options => { options.Password.RequiredLength = 1; options.Password.RequireLowercase = false; diff --git a/test/Microsoft.AspNet.Identity.Test/IdentityOptionsTest.cs b/test/Microsoft.AspNet.Identity.Test/IdentityOptionsTest.cs index 376893062a..028d521254 100644 --- a/test/Microsoft.AspNet.Identity.Test/IdentityOptionsTest.cs +++ b/test/Microsoft.AspNet.Identity.Test/IdentityOptionsTest.cs @@ -38,10 +38,8 @@ namespace Microsoft.AspNet.Identity.Test Assert.Equal("AspNet.Identity.SecurityStamp", options.ClaimsIdentity.SecurityStampClaimType); } - [Theory] - [InlineData(true)] - [InlineData(false)] - public void IdentityOptionsFromConfig(bool useDefaultSubKey) + [Fact] + public void IdentityOptionsFromConfig() { const string roleClaimType = "rolez"; const string usernameClaimType = "namez"; @@ -67,14 +65,8 @@ namespace Microsoft.AspNet.Identity.Test Assert.Equal(roleClaimType, config.Get("identity:claimsidentity:roleclaimtype")); var services = new ServiceCollection(); - if (useDefaultSubKey) - { - services.AddIdentity(config); - } - else - { - services.AddIdentity(config.GetSubKey("identity"), null, useDefaultSubKey); - } + services.AddIdentity(); + services.ConfigureIdentity(config.GetSubKey("identity")); var accessor = services.BuildServiceProvider().GetRequiredService>(); Assert.NotNull(accessor); var options = accessor.Options; @@ -103,8 +95,8 @@ namespace Microsoft.AspNet.Identity.Test }; var config = new Configuration(new MemoryConfigurationSource(dic)); var services = new ServiceCollection(); - services.AddIdentity(config, - o => { o.User.RequireUniqueEmail = false; o.Lockout.MaxFailedAccessAttempts++; }); + services.ConfigureIdentity(config.GetSubKey("identity")); + services.AddIdentity(o => { o.User.RequireUniqueEmail = false; o.Lockout.MaxFailedAccessAttempts++; }); var accessor = services.BuildServiceProvider().GetRequiredService>(); Assert.NotNull(accessor); var options = accessor.Options;