diff --git a/src/Identity/Directory.Build.targets b/src/Identity/Directory.Build.targets
index 78626b773e..7e3f8df92e 100644
--- a/src/Identity/Directory.Build.targets
+++ b/src/Identity/Directory.Build.targets
@@ -1,10 +1,6 @@
- $(MicrosoftNETCoreApp20PackageVersion)
- $(MicrosoftNETCoreApp21PackageVersion)
- $(MicrosoftNETCoreApp22PackageVersion)
+ $(MicrosoftNETCoreAppPackageVersion)
$(NETStandardLibrary20PackageVersion)
-
- 99.9
diff --git a/src/Identity/NuGetPackageVerifier.json b/src/Identity/NuGetPackageVerifier.json
index 63a774a555..eff389943d 100644
--- a/src/Identity/NuGetPackageVerifier.json
+++ b/src/Identity/NuGetPackageVerifier.json
@@ -7,8 +7,8 @@
"Microsoft.AspNetCore.Identity.UI": {
"Exclusions": {
"DOC_MISSING": {
- "lib/netstandard2.0/Microsoft.AspNetCore.Identity.UI.Views.V3.dll": "This assembly is generated and contains precompiled razor pages",
- "lib/netstandard2.0/Microsoft.AspNetCore.Identity.UI.Views.V4.dll": "This assembly is generated and contains precompiled razor pages"
+ "lib/netcoreapp3.0/Microsoft.AspNetCore.Identity.UI.Views.V3.dll": "This assembly is generated and contains precompiled razor pages",
+ "lib/netcoreapp3.0/Microsoft.AspNetCore.Identity.UI.Views.V4.dll": "This assembly is generated and contains precompiled razor pages"
}
}
}
diff --git a/src/Identity/README.md b/src/Identity/README.md
index 4e4f345af9..2d659ad4da 100644
--- a/src/Identity/README.md
+++ b/src/Identity/README.md
@@ -28,3 +28,4 @@ The previous versions of Identity for MVC5 and lower, previously available on Co
* [ASP.NET Identity Cassandra Provider](https://github.com/lkubis/AspNetCore.Identity.Cassandra)
* [ASP.NET Identity Firebase Provider](https://github.com/aguacongas/Identity.Firebase)
* [ASP.NET Identity Redis Provider](https://github.com/aguacongas/Identity.Redis)
+ * [ASP.NET Identity DocumentDB](https://github.com/FelschR/AspNetCore.Identity.DocumentDB)
diff --git a/src/Identity/build/dependencies.props b/src/Identity/build/dependencies.props
index e9b3e6f8bc..63628e0e78 100644
--- a/src/Identity/build/dependencies.props
+++ b/src/Identity/build/dependencies.props
@@ -4,72 +4,67 @@
0.9.9
- 2.2.0-preview2-20181004.6
2.3.0
2.3.0
2.3.0
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
+ 3.0.0-build-20181114.5
+ 3.0.0-alpha1-10742
+ 3.0.0-alpha1-10742
+ 3.0.0-alpha1-10742
+ 3.0.0-alpha1-10742
+ 3.0.0-alpha1-10742
+ 3.0.0-alpha1-10742
+ 3.0.0-alpha1-10742
+ 3.0.0-alpha1-10742
+ 3.0.0-alpha1-10742
+ 3.0.0-alpha1-10742
+ 3.0.0-alpha1-10742
+ 3.0.0-alpha1-10742
+ 3.0.0-alpha1-10742
+ 3.0.0-alpha1-10742
+ 3.0.0-alpha1-10742
+ 3.0.0-alpha1-10742
+ 3.0.0-alpha1-10742
+ 3.0.0-alpha1-10742
+ 3.0.0-alpha1-10742
+ 3.0.0-alpha1-10742
+ 3.0.0-alpha1-10742
+ 3.0.0-alpha1-10742
+ 3.0.0-alpha1-10742
+ 3.0.0-alpha1-10742
+ 3.0.0-alpha1-10742
+ 3.0.0-preview-181113-11
2.2.1
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.2.0-preview3-35425
- 2.0.9
- 2.1.3
- 2.2.0-preview3-27001-02
- 2.2.0-preview3-35425
+ 3.0.0-preview-181109-02
+ 3.0.0-preview-181109-02
+ 3.0.0-preview-181109-02
+ 3.0.0-preview-181109-02
+ 3.0.0-preview-181109-02
+ 3.0.0-preview-181113-11
+ 3.0.0-preview-181113-11
+ 3.0.0-preview-181113-11
+ 3.0.0-preview-181113-11
+ 3.0.0-preview-181113-11
+ 3.0.0-preview-181113-11
+ 3.0.0-preview-181113-11
+ 3.0.0-preview-181113-11
+ 3.0.0-preview-181113-11
+ 3.0.0-preview-181113-11
+ 3.0.0-preview-181113-11
+ 3.0.0-preview-181113-11
+ 3.0.0-preview-181113-11
+ 3.0.0-preview-181113-11
+ 3.0.0-preview-181113-11
+ 3.0.0-preview-181113-11
+ 3.0.0-preview-181113-11
+ 3.0.0-preview1-26907-05
+ 3.0.0-alpha1-10742
15.6.1
3.0.1
- 2.2.0-preview3-35425
- 4.7.49
+ 3.0.0-alpha1-10742
+ 4.10.0
2.0.3
- 4.5.0
+ 4.6.0-preview1-26907-04
0.10.0
2.3.1
2.3.1
diff --git a/src/Identity/build/repo.props b/src/Identity/build/repo.props
index f1fe24dd27..4402da1d0d 100644
--- a/src/Identity/build/repo.props
+++ b/src/Identity/build/repo.props
@@ -4,13 +4,10 @@
Internal.AspNetCore.Universe.Lineup
- 2.2.0-*
https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json
-
-
-
+
diff --git a/src/Identity/samples/ApiAuthSample/ApiAuthSample.csproj b/src/Identity/samples/ApiAuthSample/ApiAuthSample.csproj
index d4dff9d6ae..d6f43b9d64 100644
--- a/src/Identity/samples/ApiAuthSample/ApiAuthSample.csproj
+++ b/src/Identity/samples/ApiAuthSample/ApiAuthSample.csproj
@@ -1,7 +1,7 @@
- netcoreapp2.2;net461
+ netcoreapp3.0
aspnet-ApiAuthSample-12ED8ECC-9EF1-4D31-87B4-1405B3198E5E
diff --git a/src/Identity/samples/ApiAuthSample/Startup.cs b/src/Identity/samples/ApiAuthSample/Startup.cs
index 6e776cc9cb..478799f2c7 100644
--- a/src/Identity/samples/ApiAuthSample/Startup.cs
+++ b/src/Identity/samples/ApiAuthSample/Startup.cs
@@ -34,7 +34,7 @@ namespace ApiAuthSample
services.AddAuthentication()
.AddIdentityServerJwt();
- services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
+ services.AddMvc();
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
diff --git a/src/Identity/samples/IdentitySample.DefaultUI/IdentitySample.DefaultUI.csproj b/src/Identity/samples/IdentitySample.DefaultUI/IdentitySample.DefaultUI.csproj
index f7263323cd..39f6bb9d43 100644
--- a/src/Identity/samples/IdentitySample.DefaultUI/IdentitySample.DefaultUI.csproj
+++ b/src/Identity/samples/IdentitySample.DefaultUI/IdentitySample.DefaultUI.csproj
@@ -2,7 +2,7 @@
Identity sample MVC application on ASP.NET Core using the default UI
- netcoreapp2.2;net461
+ netcoreapp3.0
aspnetcore-2ff9bc27-5e8c-4484-90ca-e3aace89b72a
diff --git a/src/Identity/samples/IdentitySample.Mvc/IdentitySample.Mvc.csproj b/src/Identity/samples/IdentitySample.Mvc/IdentitySample.Mvc.csproj
index 783e3f7a53..8b3e7f604a 100644
--- a/src/Identity/samples/IdentitySample.Mvc/IdentitySample.Mvc.csproj
+++ b/src/Identity/samples/IdentitySample.Mvc/IdentitySample.Mvc.csproj
@@ -2,7 +2,7 @@
Identity sample MVC application on ASP.NET Core
- netcoreapp2.2;net461
+ netcoreapp3.0
aspnetcore-b3d20cbe-418e-4bf2-a0f4-57f91d067e07
diff --git a/src/Identity/src/ApiAuth.IS/Microsoft.AspNetCore.ApiAuthorization.IdentityServer.csproj b/src/Identity/src/ApiAuth.IS/Microsoft.AspNetCore.ApiAuthorization.IdentityServer.csproj
index edbb13fc79..1e0af1cd26 100644
--- a/src/Identity/src/ApiAuth.IS/Microsoft.AspNetCore.ApiAuthorization.IdentityServer.csproj
+++ b/src/Identity/src/ApiAuth.IS/Microsoft.AspNetCore.ApiAuthorization.IdentityServer.csproj
@@ -1,9 +1,7 @@
-
- 2.2.0-preview-$(BuildNumber)
- netstandard2.0
+ netcoreapp3.0
ASP.NET Core API Authorization package powered by Identity Server.
true
aspnetcore;apiauth;identity
diff --git a/src/Identity/src/Core/IdentityBuilder.cs b/src/Identity/src/Core/IdentityBuilder.cs
index 905bedc8d0..b7502237bc 100644
--- a/src/Identity/src/Core/IdentityBuilder.cs
+++ b/src/Identity/src/Core/IdentityBuilder.cs
@@ -127,7 +127,7 @@ namespace Microsoft.AspNetCore.Identity
{
if (!typeof(IUserTwoFactorTokenProvider<>).MakeGenericType(UserType).GetTypeInfo().IsAssignableFrom(provider.GetTypeInfo()))
{
- throw new InvalidOperationException(Resources.FormatInvalidManagerType(provider.Name, "IUserTokenProvider", UserType.Name));
+ throw new InvalidOperationException(Resources.FormatInvalidManagerType(provider.Name, "IUserTwoFactorTokenProvider", UserType.Name));
}
Services.Configure(options =>
{
diff --git a/src/Identity/src/EF/Microsoft.AspNetCore.Identity.EntityFrameworkCore.csproj b/src/Identity/src/EF/Microsoft.AspNetCore.Identity.EntityFrameworkCore.csproj
index 79339b9c1e..69565262fb 100644
--- a/src/Identity/src/EF/Microsoft.AspNetCore.Identity.EntityFrameworkCore.csproj
+++ b/src/Identity/src/EF/Microsoft.AspNetCore.Identity.EntityFrameworkCore.csproj
@@ -2,7 +2,7 @@
ASP.NET Core Identity provider that uses Entity Framework Core.
- netstandard2.0
+ netcoreapp3.0
true
aspnetcore;entityframeworkcore;identity;membership
diff --git a/src/Identity/src/Identity/Microsoft.AspNetCore.Identity.csproj b/src/Identity/src/Identity/Microsoft.AspNetCore.Identity.csproj
index fc0fae70c8..9ef7ddb110 100644
--- a/src/Identity/src/Identity/Microsoft.AspNetCore.Identity.csproj
+++ b/src/Identity/src/Identity/Microsoft.AspNetCore.Identity.csproj
@@ -2,7 +2,7 @@
ASP.NET Core Identity is the membership system for building ASP.NET Core web applications, including membership, login, and user data. ASP.NET Core Identity allows you to add login features to your application and makes it easy to customize data about the logged in user.
- netstandard2.0
+ netcoreapp3.0
true
aspnetcore;identity;membership
diff --git a/src/Identity/src/Specification.Tests/Microsoft.AspNetCore.Identity.Specification.Tests.csproj b/src/Identity/src/Specification.Tests/Microsoft.AspNetCore.Identity.Specification.Tests.csproj
index 668159786b..22a7b552f9 100644
--- a/src/Identity/src/Specification.Tests/Microsoft.AspNetCore.Identity.Specification.Tests.csproj
+++ b/src/Identity/src/Specification.Tests/Microsoft.AspNetCore.Identity.Specification.Tests.csproj
@@ -2,7 +2,7 @@
Shared test suite for Asp.Net Identity Core store implementations.
- netstandard2.0
+ netcoreapp3.0
true
aspnetcore;identity;membership
diff --git a/src/Identity/src/UI/Areas/Identity/Pages/V3/Account/Manage/DeletePersonalData.cshtml.cs b/src/Identity/src/UI/Areas/Identity/Pages/V3/Account/Manage/DeletePersonalData.cshtml.cs
index 24e5a1a4e8..12796fbf0e 100644
--- a/src/Identity/src/UI/Areas/Identity/Pages/V3/Account/Manage/DeletePersonalData.cshtml.cs
+++ b/src/Identity/src/UI/Areas/Identity/Pages/V3/Account/Manage/DeletePersonalData.cshtml.cs
@@ -108,7 +108,7 @@ namespace Microsoft.AspNetCore.Identity.UI.V3.Pages.Account.Manage.Internal
var userId = await _userManager.GetUserIdAsync(user);
if (!result.Succeeded)
{
- throw new InvalidOperationException($"Unexpected error occurred deleteing user with ID '{userId}'.");
+ throw new InvalidOperationException($"Unexpected error occurred deleting user with ID '{userId}'.");
}
await _signInManager.SignOutAsync();
diff --git a/src/Identity/src/UI/Areas/Identity/Pages/V4/Account/Manage/DeletePersonalData.cshtml.cs b/src/Identity/src/UI/Areas/Identity/Pages/V4/Account/Manage/DeletePersonalData.cshtml.cs
index ea67b87a9a..72829f1366 100644
--- a/src/Identity/src/UI/Areas/Identity/Pages/V4/Account/Manage/DeletePersonalData.cshtml.cs
+++ b/src/Identity/src/UI/Areas/Identity/Pages/V4/Account/Manage/DeletePersonalData.cshtml.cs
@@ -108,7 +108,7 @@ namespace Microsoft.AspNetCore.Identity.UI.V4.Pages.Account.Manage.Internal
var userId = await _userManager.GetUserIdAsync(user);
if (!result.Succeeded)
{
- throw new InvalidOperationException($"Unexpected error occurred deleteing user with ID '{userId}'.");
+ throw new InvalidOperationException($"Unexpected error occurred deleting user with ID '{userId}'.");
}
await _signInManager.SignOutAsync();
diff --git a/src/Identity/src/UI/Microsoft.AspNetCore.Identity.UI.csproj b/src/Identity/src/UI/Microsoft.AspNetCore.Identity.UI.csproj
index 295d609e80..6f79a1e4bb 100644
--- a/src/Identity/src/UI/Microsoft.AspNetCore.Identity.UI.csproj
+++ b/src/Identity/src/UI/Microsoft.AspNetCore.Identity.UI.csproj
@@ -3,7 +3,7 @@
ASP.NET Core Identity UI is the default Razor Pages built-in UI for the ASP.NET Core Identity framework.
Compiled Razor views assembly for the ASP.NET Core Identity UI package.
- netstandard2.0
+ netcoreapp3.0
true
aspnetcore;identity;membership;razorpages
true
@@ -12,6 +12,10 @@
false
false
true
+
+ <_EnableAllInclusiveRazorSdk>true
+ 3.0
+ MVC-3.0
@@ -66,7 +70,7 @@
BuildProjectReferences=false;
RazorCompileOnBuild=true;
UIFrameworkVersion=%(UIFrameworkVersionMoniker.Identity);
- IntermediateOutputPath=$(IntermediateOutputPath)%(UIFrameworkVersionMoniker.Identity)\" />
+ IntermediateOutputPath=$(IntermediateOutputPath)%(UIFrameworkVersionMoniker.Identity)\;" />
- netcoreapp2.2
+ netcoreapp3.0
$(DeveloperBuildTestTfms)
$(StandardTestTfms)
- $(StandardTestTfms);net461
diff --git a/src/Identity/test/EF.Test/SqlStoreTestBase.cs b/src/Identity/test/EF.Test/SqlStoreTestBase.cs
index 1cc9204267..77932fae4c 100644
--- a/src/Identity/test/EF.Test/SqlStoreTestBase.cs
+++ b/src/Identity/test/EF.Test/SqlStoreTestBase.cs
@@ -180,7 +180,7 @@ namespace Microsoft.AspNetCore.Identity.EntityFrameworkCore.Test
IdentityResultAssert.IsSuccess(await roleMgr.DeleteAsync(role));
Assert.Null(await roleMgr.FindByNameAsync(roleName));
Assert.False(await roleMgr.RoleExistsAsync(roleName));
- // REVIEW: We should throw if deleteing a non empty role?
+ // REVIEW: We should throw if deleting a non empty role?
roles = await userMgr.GetRolesAsync(user);
Assert.Empty(roles);
diff --git a/src/Identity/test/Identity.FunctionalTests/Microsoft.AspNetCore.Identity.FunctionalTests.csproj b/src/Identity/test/Identity.FunctionalTests/Microsoft.AspNetCore.Identity.FunctionalTests.csproj
index 217982f7f9..3c201f9c7b 100644
--- a/src/Identity/test/Identity.FunctionalTests/Microsoft.AspNetCore.Identity.FunctionalTests.csproj
+++ b/src/Identity/test/Identity.FunctionalTests/Microsoft.AspNetCore.Identity.FunctionalTests.csproj
@@ -1,8 +1,7 @@
- $(StandardTestTfms)
-
+ netcoreapp3.0
@@ -27,7 +26,7 @@
- <_IdentityUIViewsAssemblies Include="$(MSBuildThisFileDirectory)..\..\src\UI\bin\$(Configuration)\netstandard2.0\Microsoft.AspNetCore.Identity.UI.Views.*.dll" />
+ <_IdentityUIViewsAssemblies Include="$(MSBuildThisFileDirectory)..\..\src\UI\bin\$(Configuration)\netcoreapp3.0\Microsoft.AspNetCore.Identity.UI.Views.*.dll" />
- $(StandardTestTfms)
+ netcoreapp3.0
diff --git a/src/Identity/test/Identity.Test/SignInManagerTest.cs b/src/Identity/test/Identity.Test/SignInManagerTest.cs
index 316f4b8d0b..cc840112dc 100644
--- a/src/Identity/test/Identity.Test/SignInManagerTest.cs
+++ b/src/Identity/test/Identity.Test/SignInManagerTest.cs
@@ -10,6 +10,8 @@ using System.Threading.Tasks;
using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Logging;
+using Microsoft.Extensions.Logging.Abstractions;
using Microsoft.Extensions.Options;
using Moq;
using Xunit;
@@ -121,9 +123,8 @@ namespace Microsoft.AspNetCore.Identity.Test
var options = new Mock>();
options.Setup(a => a.Value).Returns(identityOptions);
var claimsFactory = new UserClaimsPrincipalFactory(manager.Object, roleManager.Object, options.Object);
- var logStore = new StringBuilder();
- var logger = MockHelpers.MockILogger>(logStore);
- var helper = new SignInManager(manager.Object, contextAccessor.Object, claimsFactory, options.Object, logger.Object, new Mock().Object);
+ var logger = new TestLogger>();
+ var helper = new SignInManager(manager.Object, contextAccessor.Object, claimsFactory, options.Object, logger, new Mock().Object);
// Act
var result = await helper.PasswordSignInAsync(user.UserName, "bogus", false, false);
@@ -131,7 +132,7 @@ namespace Microsoft.AspNetCore.Identity.Test
// Assert
Assert.False(result.Succeeded);
Assert.True(result.IsLockedOut);
- Assert.Contains($"User {user.Id} is currently locked out.", logStore.ToString());
+ Assert.Contains($"User {user.Id} is currently locked out.", logger.LogMessages);
manager.Verify();
}
@@ -152,9 +153,8 @@ namespace Microsoft.AspNetCore.Identity.Test
var options = new Mock>();
options.Setup(a => a.Value).Returns(identityOptions);
var claimsFactory = new UserClaimsPrincipalFactory(manager.Object, roleManager.Object, options.Object);
- var logStore = new StringBuilder();
- var logger = MockHelpers.MockILogger>(logStore);
- var helper = new SignInManager(manager.Object, contextAccessor.Object, claimsFactory, options.Object, logger.Object, new Mock().Object);
+ var logger = new TestLogger>();
+ var helper = new SignInManager(manager.Object, contextAccessor.Object, claimsFactory, options.Object, logger, new Mock().Object);
// Act
var result = await helper.CheckPasswordSignInAsync(user, "bogus", false);
@@ -162,7 +162,7 @@ namespace Microsoft.AspNetCore.Identity.Test
// Assert
Assert.False(result.Succeeded);
Assert.True(result.IsLockedOut);
- Assert.Contains($"User {user.Id} is currently locked out.", logStore.ToString());
+ Assert.Contains($"User {user.Id} is currently locked out.", logger.LogMessages);
manager.Verify();
}
@@ -176,7 +176,7 @@ namespace Microsoft.AspNetCore.Identity.Test
return manager;
}
- private static SignInManager SetupSignInManager(UserManager manager, HttpContext context, StringBuilder logStore = null, IdentityOptions identityOptions = null, IAuthenticationSchemeProvider schemeProvider = null)
+ private static SignInManager SetupSignInManager(UserManager manager, HttpContext context, ILogger logger = null, IdentityOptions identityOptions = null, IAuthenticationSchemeProvider schemeProvider = null)
{
var contextAccessor = new Mock();
contextAccessor.Setup(a => a.HttpContext).Returns(context);
@@ -187,7 +187,7 @@ namespace Microsoft.AspNetCore.Identity.Test
var claimsFactory = new UserClaimsPrincipalFactory(manager, roleManager.Object, options.Object);
schemeProvider = schemeProvider ?? new Mock().Object;
var sm = new SignInManager(manager, contextAccessor.Object, claimsFactory, options.Object, null, schemeProvider);
- sm.Logger = MockHelpers.MockILogger>(logStore ?? new StringBuilder()).Object;
+ sm.Logger = logger ?? NullLogger>.Instance;
return sm;
}
@@ -759,8 +759,9 @@ namespace Microsoft.AspNetCore.Identity.Test
manager.Setup(m => m.IsLockedOutAsync(user)).ReturnsAsync(false).Verifiable();
manager.Setup(m => m.CheckPasswordAsync(user, "bogus")).ReturnsAsync(false).Verifiable();
var context = new Mock();
- var logStore = new StringBuilder();
- var helper = SetupSignInManager(manager.Object, context.Object, logStore);
+ var logger = new TestLogger>();
+ var helper = SetupSignInManager(manager.Object, context.Object, logger);
+
// Act
var result = await helper.PasswordSignInAsync(user.UserName, "bogus", false, false);
var checkResult = await helper.CheckPasswordSignInAsync(user, "bogus", false);
@@ -768,7 +769,7 @@ namespace Microsoft.AspNetCore.Identity.Test
// Assert
Assert.False(result.Succeeded);
Assert.False(checkResult.Succeeded);
- Assert.Contains($"User {user.Id} failed to provide the correct password.", logStore.ToString());
+ Assert.Contains($"User {user.Id} failed to provide the correct password.", logger.LogMessages);
manager.Verify();
context.Verify();
}
@@ -867,8 +868,8 @@ namespace Microsoft.AspNetCore.Identity.Test
}
var identityOptions = new IdentityOptions();
identityOptions.SignIn.RequireConfirmedEmail = true;
- var logStore = new StringBuilder();
- var helper = SetupSignInManager(manager.Object, context, logStore, identityOptions);
+ var logger = new TestLogger>();
+ var helper = SetupSignInManager(manager.Object, context, logger, identityOptions);
// Act
var result = await helper.PasswordSignInAsync(user, "password", false, false);
@@ -877,7 +878,16 @@ namespace Microsoft.AspNetCore.Identity.Test
Assert.Equal(confirmed, result.Succeeded);
Assert.NotEqual(confirmed, result.IsNotAllowed);
- Assert.Equal(confirmed, !logStore.ToString().Contains($"User {user.Id} cannot sign in without a confirmed email."));
+
+ var message = $"User {user.Id} cannot sign in without a confirmed email.";
+ if (!confirmed)
+ {
+ Assert.Contains(message, logger.LogMessages);
+ }
+ else
+ {
+ Assert.DoesNotContain(message, logger.LogMessages);
+ }
manager.Verify();
auth.Verify();
@@ -912,8 +922,8 @@ namespace Microsoft.AspNetCore.Identity.Test
var identityOptions = new IdentityOptions();
identityOptions.SignIn.RequireConfirmedPhoneNumber = true;
- var logStore = new StringBuilder();
- var helper = SetupSignInManager(manager.Object, context, logStore, identityOptions);
+ var logger = new TestLogger>();
+ var helper = SetupSignInManager(manager.Object, context, logger, identityOptions);
// Act
var result = await helper.PasswordSignInAsync(user, "password", false, false);
@@ -921,7 +931,17 @@ namespace Microsoft.AspNetCore.Identity.Test
// Assert
Assert.Equal(confirmed, result.Succeeded);
Assert.NotEqual(confirmed, result.IsNotAllowed);
- Assert.Equal(confirmed, !logStore.ToString().Contains($"User {user.Id} cannot sign in without a confirmed phone number."));
+
+ var message = $"User {user.Id} cannot sign in without a confirmed phone number.";
+ if (!confirmed)
+ {
+ Assert.Contains(message, logger.LogMessages);
+ }
+ else
+ {
+ Assert.DoesNotContain(message, logger.LogMessages);
+ }
+
manager.Verify();
auth.Verify();
}
diff --git a/src/Identity/test/Shared/MockHelpers.cs b/src/Identity/test/Shared/MockHelpers.cs
index bb6c98699e..c476e52044 100644
--- a/src/Identity/test/Shared/MockHelpers.cs
+++ b/src/Identity/test/Shared/MockHelpers.cs
@@ -34,35 +34,6 @@ namespace Microsoft.AspNetCore.Identity.Test
new IdentityErrorDescriber(), null);
}
- public static Mock> MockILogger(StringBuilder logStore = null) where T : class
- {
- logStore = logStore ?? LogMessage;
- var logger = new Mock>();
- logger.Setup(x => x.Log(It.IsAny(), It.IsAny(), It.IsAny
-
\ No newline at end of file
+
diff --git a/src/Identity/test/WebSites/Identity.DefaultUI.WebSite/StartupBase.cs b/src/Identity/test/WebSites/Identity.DefaultUI.WebSite/StartupBase.cs
index 35a94b3b72..fb08f9741b 100644
--- a/src/Identity/test/WebSites/Identity.DefaultUI.WebSite/StartupBase.cs
+++ b/src/Identity/test/WebSites/Identity.DefaultUI.WebSite/StartupBase.cs
@@ -45,14 +45,7 @@ namespace Identity.DefaultUI.WebSite
.AddRoles()
.AddEntityFrameworkStores();
- services.AddMvc()
- .AddRazorOptions(ro =>
- {
- // We do this to avoid file descriptor exhaustion in our functional tests
- // due to Razor Pages using a file watcher.
- ro.FileProviders.Clear();
- ro.FileProviders.Add(new CompositeFileProvider(new[] { new NullFileProvider() }));
- });
+ services.AddMvc();
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
diff --git a/src/Identity/version.props b/src/Identity/version.props
index beed3973b3..03bcf51212 100644
--- a/src/Identity/version.props
+++ b/src/Identity/version.props
@@ -1,16 +1,15 @@
- 2.2.0
- rtm
+ 3.0.0
+ alpha1
$(VersionPrefix)
$(VersionPrefix)-$(VersionSuffix)-final
t000
a-
$(FeatureBranchVersionPrefix)$(VersionSuffix)-$([System.Text.RegularExpressions.Regex]::Replace('$(FeatureBranchVersionSuffix)', '[^\w-]', '-'))
$(VersionSuffix)-$(BuildNumber)
-
- 0.5.0
- rtm
+ 0.6.0
+ alpha1
$(ExperimentalVersionPrefix)
$(ExperimentalVersionPrefix)-$(ExperimentalVersionSuffix)-final
$(ExperimentalVersionSuffix)-$(BuildNumber)