diff --git a/src/Microsoft.AspNetCore.Identity/IdentityServiceCollectionExtensions.cs b/src/Microsoft.AspNetCore.Identity/IdentityServiceCollectionExtensions.cs index 386084e8a0..87de3c7f2f 100644 --- a/src/Microsoft.AspNetCore.Identity/IdentityServiceCollectionExtensions.cs +++ b/src/Microsoft.AspNetCore.Identity/IdentityServiceCollectionExtensions.cs @@ -8,7 +8,6 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Identity; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection.Extensions; -using Microsoft.Extensions.Options.Infrastructure; namespace Microsoft.Extensions.DependencyInjection { @@ -17,13 +16,6 @@ namespace Microsoft.Extensions.DependencyInjection /// public static class IdentityServiceCollectionExtensions { - internal class IdentityConfigureOptions : ConfigureDefaultOptions - { - public IdentityConfigureOptions(IConfiguration config) : - base(options => config.GetSection("Microsoft:AspNetCore:Identity").Bind(options)) - { } - } - /// /// Adds the default identity system configuration for the specified User and Role types. /// @@ -119,7 +111,6 @@ namespace Microsoft.Extensions.DependencyInjection services.TryAddScoped, SignInManager>(); services.TryAddScoped, AspNetRoleManager>(); - services.AddSingleton, IdentityConfigureOptions>(); if (setupAction != null) { services.Configure(setupAction); diff --git a/src/Microsoft.AspNetCore.Identity/Microsoft.AspNetCore.Identity.csproj b/src/Microsoft.AspNetCore.Identity/Microsoft.AspNetCore.Identity.csproj index f01e6f8d0e..5b38f31088 100644 --- a/src/Microsoft.AspNetCore.Identity/Microsoft.AspNetCore.Identity.csproj +++ b/src/Microsoft.AspNetCore.Identity/Microsoft.AspNetCore.Identity.csproj @@ -14,7 +14,6 @@ - diff --git a/test/Microsoft.AspNetCore.Identity.Test/IdentityOptionsTest.cs b/test/Microsoft.AspNetCore.Identity.Test/IdentityOptionsTest.cs index 5c19c14e20..d5dde4190b 100644 --- a/test/Microsoft.AspNetCore.Identity.Test/IdentityOptionsTest.cs +++ b/test/Microsoft.AspNetCore.Identity.Test/IdentityOptionsTest.cs @@ -8,7 +8,6 @@ using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; -using Microsoft.Extensions.Options.Infrastructure; using Xunit; namespace Microsoft.AspNetCore.Identity.Test @@ -39,79 +38,6 @@ namespace Microsoft.AspNetCore.Identity.Test Assert.Equal("AspNet.Identity.SecurityStamp", options.ClaimsIdentity.SecurityStampClaimType); } - [Fact] - public void IdentityOptionsFromConfig() - { - const string roleClaimType = "rolez"; - const string usernameClaimType = "namez"; - const string useridClaimType = "idz"; - const string securityStampClaimType = "stampz"; - - var dic = new Dictionary - { - {"microsoft:aspnetcore:identity:claimsidentity:roleclaimtype", roleClaimType}, - {"microsoft:aspnetcore:identity:claimsidentity:usernameclaimtype", usernameClaimType}, - {"microsoft:aspnetcore:identity:claimsidentity:useridclaimtype", useridClaimType}, - {"microsoft:aspnetcore:identity:claimsidentity:securitystampclaimtype", securityStampClaimType}, - {"microsoft:aspnetcore:identity:user:requireUniqueEmail", "true"}, - {"microsoft:aspnetcore:identity:password:RequiredLength", "10"}, - {"microsoft:aspnetcore:identity:password:RequiredUniqueChars", "5"}, - {"microsoft:aspnetcore:identity:password:RequireNonAlphanumeric", "false"}, - {"microsoft:aspnetcore:identity:password:RequireUpperCase", "false"}, - {"microsoft:aspnetcore:identity:password:RequireDigit", "false"}, - {"microsoft:aspnetcore:identity:password:RequireLowerCase", "false"}, - {"microsoft:aspnetcore:identity:lockout:AllowedForNewUsers", "FALSe"}, - {"microsoft:aspnetcore:identity:lockout:MaxFailedAccessAttempts", "1000"} - }; - var builder = new ConfigurationBuilder(); - builder.AddInMemoryCollection(dic); - var config = builder.Build(); - Assert.Equal(roleClaimType, config["microsoft:aspnetcore:identity:claimsidentity:roleclaimtype"]); - - var services = new ServiceCollection() - .AddSingleton(config) - .AddSingleton, ConfigureDefaults>(); - services.AddIdentity(); - var accessor = services.BuildServiceProvider().GetRequiredService>(); - Assert.NotNull(accessor); - var options = accessor.Value; - Assert.Equal(roleClaimType, options.ClaimsIdentity.RoleClaimType); - Assert.Equal(useridClaimType, options.ClaimsIdentity.UserIdClaimType); - Assert.Equal(usernameClaimType, options.ClaimsIdentity.UserNameClaimType); - Assert.Equal(securityStampClaimType, options.ClaimsIdentity.SecurityStampClaimType); - Assert.True(options.User.RequireUniqueEmail); - Assert.Equal("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._@+", options.User.AllowedUserNameCharacters); - Assert.False(options.Password.RequireDigit); - Assert.False(options.Password.RequireLowercase); - Assert.False(options.Password.RequireNonAlphanumeric); - Assert.False(options.Password.RequireUppercase); - Assert.Equal(10, options.Password.RequiredLength); - Assert.Equal(5, options.Password.RequiredUniqueChars); - Assert.False(options.Lockout.AllowedForNewUsers); - Assert.Equal(1000, options.Lockout.MaxFailedAccessAttempts); - } - - [Fact] - public void IdentityOptionsActionOverridesConfig() - { - var dic = new Dictionary - { - {"microsoft:aspnetcore:identity:user:requireUniqueEmail", "true"}, - {"microsoft:aspnetcore:identity:lockout:MaxFailedAccessAttempts", "1000"} - }; - var builder = new ConfigurationBuilder(); - builder.AddInMemoryCollection(dic); - var services = new ServiceCollection() - .AddSingleton(builder.Build()) - .AddSingleton, ConfigureDefaults>(); - services.AddIdentity(o => { o.User.RequireUniqueEmail = false; o.Lockout.MaxFailedAccessAttempts++; }); - var accessor = services.BuildServiceProvider().GetRequiredService>(); - Assert.NotNull(accessor); - var options = accessor.Value; - Assert.False(options.User.RequireUniqueEmail); - Assert.Equal(1001, options.Lockout.MaxFailedAccessAttempts); - } - [Fact] public void CanCustomizeIdentityOptions() {