From ac3bea16fdf6bb44f4811d327482c49d94d84cd2 Mon Sep 17 00:00:00 2001
From: Javier Calvarro Nelson
Date: Mon, 29 Jan 2018 13:13:35 -0800
Subject: [PATCH] Add functional tests for Identity UI
---
Identity.sln | 55 +
IdentityCore.sln | 64 +-
build/dependencies.props | 4 +
.../Pages/Account/LoginWith2fa.cshtml | 2 +-
.../Account/Manage/EnableAuthenticator.cshtml | 2 +-
.../Account/Manage/ShowRecoveryCodes.cshtml | 2 +-
.../Manage/TwoFactorAuthentication.cshtml | 6 +-
.../Pages/Account/Manage/_ManageNav.cshtml | 10 +-
.../AuthorizationTests.cs | 114 +
.../Extensions/HtmlAssert.cs | 58 +
.../Extensions/HttpClientExtensions.cs | 45 +
.../Extensions/ResponseAssert.cs | 57 +
.../Infrastructure/CookieContainerHandler.cs | 38 +
...ctionalTestsServiceCollectionExtensions.cs | 20 +
.../Infrastructure/HtmlPage.cs | 22 +
.../Infrastructure/HtmlPageContext.cs | 19 +
.../Infrastructure/ServerFactory.cs | 52 +
test/Identity.FunctionalTests/LoginTests.cs | 151 +
.../ManagementTests.cs | 27 +
...AspNetCore.Identity.FunctionalTests.csproj | 28 +
.../Pages/Account/Login.cs | 54 +
.../Pages/Account/LoginWith2fa.cs | 52 +
.../Pages/Account/LoginWithRecoveryCode.cs | 35 +
.../Account/Manage/EnableAuthenticator.cs | 54 +
.../Pages/Account/Manage/Index.cs | 34 +
.../Pages/Account/Manage/ShowRecoveryCodes.cs | 26 +
.../Account/Manage/TwoFactorAuthentication.cs | 36 +
.../Pages/Account/Register.cs | 39 +
test/Identity.FunctionalTests/Pages/Index.cs | 73 +
.../RegistrationTests.cs | 25 +
test/Identity.FunctionalTests/UserStories.cs | 71 +
.../xunit.runner.json | 3 +
...000000000_CreateIdentitySchema.Designer.cs | 217 +
.../00000000000000_CreateIdentitySchema.cs | 222 +
.../IdentityDbContextModelSnapshot.cs | 215 +
.../Identity.DefaultUI.WebSite.csproj | 42 +
.../Pages/About.cshtml | 9 +
.../Pages/About.cshtml.cs | 21 +
.../Pages/Contact.cshtml | 19 +
.../Pages/Contact.cshtml.cs | 17 +
.../Pages/Error.cshtml | 23 +
.../Pages/Error.cshtml.cs | 22 +
.../Pages/Index.cshtml | 108 +
.../Pages/Index.cshtml.cs | 14 +
.../Pages/Privacy.cshtml | 8 +
.../Pages/Privacy.cshtml.cs | 14 +
.../Pages/Shared/_LoginPartial.cshtml | 25 +
.../Pages/_CookieConsentPartial.cshtml | 41 +
.../Pages/_Layout.cshtml | 75 +
.../Pages/_ValidationScriptsPartial.cshtml | 18 +
.../Pages/_ViewImports.cshtml | 5 +
.../Pages/_ViewStart.cshtml | 3 +
.../Identity.DefaultUI.WebSite/Program.cs | 72 +
.../Properties/launchSettings.json | 28 +
.../Identity.DefaultUI.WebSite/Startup.cs | 74 +
.../appsettings.Development.json | 9 +
.../appsettings.json | 10 +
.../bundleconfig.json | 24 +
.../wwwroot/css/site.css | 35 +
.../wwwroot/css/site.min.css | 1 +
.../wwwroot/favicon.ico | Bin 0 -> 32038 bytes
.../wwwroot/images/banner1.svg | 1 +
.../wwwroot/images/banner2.svg | 1 +
.../wwwroot/images/banner3.svg | 1 +
.../wwwroot/images/banner4.svg | 1 +
.../wwwroot/js/site.js | 1 +
.../wwwroot/js/site.min.js | 0
.../wwwroot/lib/bootstrap/.bower.json | 45 +
.../wwwroot/lib/bootstrap/LICENSE | 21 +
.../bootstrap/dist/css/bootstrap-theme.css | 587 +
.../dist/css/bootstrap-theme.css.map | 1 +
.../dist/css/bootstrap-theme.min.css.map | 1 +
.../lib/bootstrap/dist/css/bootstrap.css | 6757 +++++++++++
.../lib/bootstrap/dist/css/bootstrap.css.map | 1 +
.../bootstrap/dist/css/bootstrap.min.css.map | 1 +
.../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20127 bytes
.../fonts/glyphicons-halflings-regular.svg | 288 +
.../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 45404 bytes
.../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23424 bytes
.../fonts/glyphicons-halflings-regular.woff2 | Bin 0 -> 18028 bytes
.../lib/bootstrap/dist/js/bootstrap.js | 2377 ++++
.../wwwroot/lib/bootstrap/dist/js/npm.js | 13 +
.../jquery-validation-unobtrusive/.bower.json | 44 +
.../jquery.validate.unobtrusive.js | 416 +
.../jquery.validate.unobtrusive.min.js | 5 +
.../wwwroot/lib/jquery-validation/.bower.json | 40 +
.../wwwroot/lib/jquery-validation/LICENSE.md | 22 +
.../dist/additional-methods.js | 998 ++
.../jquery-validation/dist/jquery.validate.js | 1398 +++
.../wwwroot/lib/jquery/.bower.json | 25 +
.../wwwroot/lib/jquery/LICENSE.txt | 36 +
.../wwwroot/lib/jquery/dist/jquery.js | 9831 +++++++++++++++++
.../wwwroot/lib/jquery/dist/jquery.min.map | 1 +
93 files changed, 25540 insertions(+), 22 deletions(-)
create mode 100644 test/Identity.FunctionalTests/AuthorizationTests.cs
create mode 100644 test/Identity.FunctionalTests/Extensions/HtmlAssert.cs
create mode 100644 test/Identity.FunctionalTests/Extensions/HttpClientExtensions.cs
create mode 100644 test/Identity.FunctionalTests/Extensions/ResponseAssert.cs
create mode 100644 test/Identity.FunctionalTests/Infrastructure/CookieContainerHandler.cs
create mode 100644 test/Identity.FunctionalTests/Infrastructure/FunctionalTestsServiceCollectionExtensions.cs
create mode 100644 test/Identity.FunctionalTests/Infrastructure/HtmlPage.cs
create mode 100644 test/Identity.FunctionalTests/Infrastructure/HtmlPageContext.cs
create mode 100644 test/Identity.FunctionalTests/Infrastructure/ServerFactory.cs
create mode 100644 test/Identity.FunctionalTests/LoginTests.cs
create mode 100644 test/Identity.FunctionalTests/ManagementTests.cs
create mode 100644 test/Identity.FunctionalTests/Microsoft.AspNetCore.Identity.FunctionalTests.csproj
create mode 100644 test/Identity.FunctionalTests/Pages/Account/Login.cs
create mode 100644 test/Identity.FunctionalTests/Pages/Account/LoginWith2fa.cs
create mode 100644 test/Identity.FunctionalTests/Pages/Account/LoginWithRecoveryCode.cs
create mode 100644 test/Identity.FunctionalTests/Pages/Account/Manage/EnableAuthenticator.cs
create mode 100644 test/Identity.FunctionalTests/Pages/Account/Manage/Index.cs
create mode 100644 test/Identity.FunctionalTests/Pages/Account/Manage/ShowRecoveryCodes.cs
create mode 100644 test/Identity.FunctionalTests/Pages/Account/Manage/TwoFactorAuthentication.cs
create mode 100644 test/Identity.FunctionalTests/Pages/Account/Register.cs
create mode 100644 test/Identity.FunctionalTests/Pages/Index.cs
create mode 100644 test/Identity.FunctionalTests/RegistrationTests.cs
create mode 100644 test/Identity.FunctionalTests/UserStories.cs
create mode 100644 test/Identity.FunctionalTests/xunit.runner.json
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/Data/Migrations/00000000000000_CreateIdentitySchema.Designer.cs
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/Data/Migrations/00000000000000_CreateIdentitySchema.cs
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/Data/Migrations/IdentityDbContextModelSnapshot.cs
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/Identity.DefaultUI.WebSite.csproj
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/Pages/About.cshtml
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/Pages/About.cshtml.cs
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/Pages/Contact.cshtml
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/Pages/Contact.cshtml.cs
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/Pages/Error.cshtml
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/Pages/Error.cshtml.cs
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/Pages/Index.cshtml
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/Pages/Index.cshtml.cs
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/Pages/Privacy.cshtml
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/Pages/Privacy.cshtml.cs
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/Pages/Shared/_LoginPartial.cshtml
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/Pages/_CookieConsentPartial.cshtml
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/Pages/_Layout.cshtml
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/Pages/_ValidationScriptsPartial.cshtml
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/Pages/_ViewImports.cshtml
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/Pages/_ViewStart.cshtml
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/Program.cs
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/Properties/launchSettings.json
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/Startup.cs
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/appsettings.Development.json
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/appsettings.json
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/bundleconfig.json
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/css/site.css
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/css/site.min.css
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/favicon.ico
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/images/banner1.svg
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/images/banner2.svg
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/images/banner3.svg
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/images/banner4.svg
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/js/site.js
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/js/site.min.js
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/lib/bootstrap/.bower.json
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/lib/bootstrap/LICENSE
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css.map
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.min.css.map
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/lib/bootstrap/dist/css/bootstrap.css
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.svg
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/lib/bootstrap/dist/js/bootstrap.js
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/lib/bootstrap/dist/js/npm.js
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/lib/jquery-validation-unobtrusive/.bower.json
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/lib/jquery-validation/.bower.json
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/lib/jquery-validation/LICENSE.md
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/lib/jquery-validation/dist/additional-methods.js
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/lib/jquery-validation/dist/jquery.validate.js
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/lib/jquery/.bower.json
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/lib/jquery/LICENSE.txt
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/lib/jquery/dist/jquery.js
create mode 100644 test/WebSites/Identity.DefaultUI.WebSite/wwwroot/lib/jquery/dist/jquery.min.map
diff --git a/Identity.sln b/Identity.sln
index 9a198807a1..aa69c50755 100644
--- a/Identity.sln
+++ b/Identity.sln
@@ -1,3 +1,4 @@
+
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26730.12
@@ -86,6 +87,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IdentitySample.DefaultUI",
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Identity.UI", "src\UI\Microsoft.AspNetCore.Identity.UI.csproj", "{894E102D-56D4-4B02-8F13-8781F4324C3E}"
EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Identity.DefaultUI.WebSite", "test\WebSites\Identity.DefaultUI.WebSite\Identity.DefaultUI.WebSite.csproj", "{CAE02AD2-F941-4ACB-B469-13EFF551BB74}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Identity.FunctionalTests", "test\Identity.FunctionalTests\Microsoft.AspNetCore.Identity.FunctionalTests.csproj", "{B3616029-7DA6-4FB3-8722-D5AC69884B3F}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -868,6 +873,54 @@ Global
{894E102D-56D4-4B02-8F13-8781F4324C3E}.ReleaseNoWPF|x64.Build.0 = Release|Any CPU
{894E102D-56D4-4B02-8F13-8781F4324C3E}.ReleaseNoWPF|x86.ActiveCfg = Release|Any CPU
{894E102D-56D4-4B02-8F13-8781F4324C3E}.ReleaseNoWPF|x86.Build.0 = Release|Any CPU
+ {CAE02AD2-F941-4ACB-B469-13EFF551BB74}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CAE02AD2-F941-4ACB-B469-13EFF551BB74}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CAE02AD2-F941-4ACB-B469-13EFF551BB74}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {CAE02AD2-F941-4ACB-B469-13EFF551BB74}.Debug|x64.Build.0 = Debug|Any CPU
+ {CAE02AD2-F941-4ACB-B469-13EFF551BB74}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {CAE02AD2-F941-4ACB-B469-13EFF551BB74}.Debug|x86.Build.0 = Debug|Any CPU
+ {CAE02AD2-F941-4ACB-B469-13EFF551BB74}.DebugNoWPF|Any CPU.ActiveCfg = Debug|Any CPU
+ {CAE02AD2-F941-4ACB-B469-13EFF551BB74}.DebugNoWPF|Any CPU.Build.0 = Debug|Any CPU
+ {CAE02AD2-F941-4ACB-B469-13EFF551BB74}.DebugNoWPF|x64.ActiveCfg = Debug|Any CPU
+ {CAE02AD2-F941-4ACB-B469-13EFF551BB74}.DebugNoWPF|x64.Build.0 = Debug|Any CPU
+ {CAE02AD2-F941-4ACB-B469-13EFF551BB74}.DebugNoWPF|x86.ActiveCfg = Debug|Any CPU
+ {CAE02AD2-F941-4ACB-B469-13EFF551BB74}.DebugNoWPF|x86.Build.0 = Debug|Any CPU
+ {CAE02AD2-F941-4ACB-B469-13EFF551BB74}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CAE02AD2-F941-4ACB-B469-13EFF551BB74}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CAE02AD2-F941-4ACB-B469-13EFF551BB74}.Release|x64.ActiveCfg = Release|Any CPU
+ {CAE02AD2-F941-4ACB-B469-13EFF551BB74}.Release|x64.Build.0 = Release|Any CPU
+ {CAE02AD2-F941-4ACB-B469-13EFF551BB74}.Release|x86.ActiveCfg = Release|Any CPU
+ {CAE02AD2-F941-4ACB-B469-13EFF551BB74}.Release|x86.Build.0 = Release|Any CPU
+ {CAE02AD2-F941-4ACB-B469-13EFF551BB74}.ReleaseNoWPF|Any CPU.ActiveCfg = Debug|Any CPU
+ {CAE02AD2-F941-4ACB-B469-13EFF551BB74}.ReleaseNoWPF|Any CPU.Build.0 = Debug|Any CPU
+ {CAE02AD2-F941-4ACB-B469-13EFF551BB74}.ReleaseNoWPF|x64.ActiveCfg = Debug|Any CPU
+ {CAE02AD2-F941-4ACB-B469-13EFF551BB74}.ReleaseNoWPF|x64.Build.0 = Debug|Any CPU
+ {CAE02AD2-F941-4ACB-B469-13EFF551BB74}.ReleaseNoWPF|x86.ActiveCfg = Debug|Any CPU
+ {CAE02AD2-F941-4ACB-B469-13EFF551BB74}.ReleaseNoWPF|x86.Build.0 = Debug|Any CPU
+ {B3616029-7DA6-4FB3-8722-D5AC69884B3F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B3616029-7DA6-4FB3-8722-D5AC69884B3F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B3616029-7DA6-4FB3-8722-D5AC69884B3F}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {B3616029-7DA6-4FB3-8722-D5AC69884B3F}.Debug|x64.Build.0 = Debug|Any CPU
+ {B3616029-7DA6-4FB3-8722-D5AC69884B3F}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {B3616029-7DA6-4FB3-8722-D5AC69884B3F}.Debug|x86.Build.0 = Debug|Any CPU
+ {B3616029-7DA6-4FB3-8722-D5AC69884B3F}.DebugNoWPF|Any CPU.ActiveCfg = Debug|Any CPU
+ {B3616029-7DA6-4FB3-8722-D5AC69884B3F}.DebugNoWPF|Any CPU.Build.0 = Debug|Any CPU
+ {B3616029-7DA6-4FB3-8722-D5AC69884B3F}.DebugNoWPF|x64.ActiveCfg = Debug|Any CPU
+ {B3616029-7DA6-4FB3-8722-D5AC69884B3F}.DebugNoWPF|x64.Build.0 = Debug|Any CPU
+ {B3616029-7DA6-4FB3-8722-D5AC69884B3F}.DebugNoWPF|x86.ActiveCfg = Debug|Any CPU
+ {B3616029-7DA6-4FB3-8722-D5AC69884B3F}.DebugNoWPF|x86.Build.0 = Debug|Any CPU
+ {B3616029-7DA6-4FB3-8722-D5AC69884B3F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B3616029-7DA6-4FB3-8722-D5AC69884B3F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B3616029-7DA6-4FB3-8722-D5AC69884B3F}.Release|x64.ActiveCfg = Release|Any CPU
+ {B3616029-7DA6-4FB3-8722-D5AC69884B3F}.Release|x64.Build.0 = Release|Any CPU
+ {B3616029-7DA6-4FB3-8722-D5AC69884B3F}.Release|x86.ActiveCfg = Release|Any CPU
+ {B3616029-7DA6-4FB3-8722-D5AC69884B3F}.Release|x86.Build.0 = Release|Any CPU
+ {B3616029-7DA6-4FB3-8722-D5AC69884B3F}.ReleaseNoWPF|Any CPU.ActiveCfg = Release|Any CPU
+ {B3616029-7DA6-4FB3-8722-D5AC69884B3F}.ReleaseNoWPF|Any CPU.Build.0 = Release|Any CPU
+ {B3616029-7DA6-4FB3-8722-D5AC69884B3F}.ReleaseNoWPF|x64.ActiveCfg = Debug|Any CPU
+ {B3616029-7DA6-4FB3-8722-D5AC69884B3F}.ReleaseNoWPF|x64.Build.0 = Debug|Any CPU
+ {B3616029-7DA6-4FB3-8722-D5AC69884B3F}.ReleaseNoWPF|x86.ActiveCfg = Debug|Any CPU
+ {B3616029-7DA6-4FB3-8722-D5AC69884B3F}.ReleaseNoWPF|x86.Build.0 = Debug|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -906,6 +959,8 @@ Global
{39AA4E4D-5E62-4213-8641-BF8012D45DE4} = {58D94A0E-C2B7-43A7-8826-99ECBB1E0A50}
{ACC75F4F-EA7D-49E0-A64C-9D4A3DFD5B8A} = {58D94A0E-C2B7-43A7-8826-99ECBB1E0A50}
{894E102D-56D4-4B02-8F13-8781F4324C3E} = {0F647068-6602-4E24-B1DC-8ED91481A50A}
+ {CAE02AD2-F941-4ACB-B469-13EFF551BB74} = {1F83D453-E094-4D28-BCFA-9E537ABB5AD6}
+ {B3616029-7DA6-4FB3-8722-D5AC69884B3F} = {52D59F18-62D2-4D17-8CF2-BE192445AF8E}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {B3F2A592-CCE0-40C2-8CA4-7B1293DED874}
diff --git a/IdentityCore.sln b/IdentityCore.sln
index 67bbcfc8a8..3971ae00b5 100644
--- a/IdentityCore.sln
+++ b/IdentityCore.sln
@@ -1,3 +1,4 @@
+
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26730.10
@@ -12,29 +13,29 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{52D59F18-6
test\Directory.Build.props = test\Directory.Build.props
EndProjectSection
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Identity", "src\Identity\Microsoft.AspNetCore.Identity.csproj", "{1729302E-A58E-4652-B639-5B6B68DA2748}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Identity", "src\Identity\Microsoft.AspNetCore.Identity.csproj", "{1729302E-A58E-4652-B639-5B6B68DA2748}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Identity.Test", "test\Identity.Test\Microsoft.AspNetCore.Identity.Test.csproj", "{2CF3927B-19E4-4866-9BAA-2C131580E7C3}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Identity.Test", "test\Identity.Test\Microsoft.AspNetCore.Identity.Test.csproj", "{2CF3927B-19E4-4866-9BAA-2C131580E7C3}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "InMemory.Test", "test\InMemory.Test\Microsoft.AspNetCore.Identity.InMemory.Test.csproj", "{65161409-C4C4-4D63-A73B-231FCFF4D503}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Identity.InMemory.Test", "test\InMemory.Test\Microsoft.AspNetCore.Identity.InMemory.Test.csproj", "{65161409-C4C4-4D63-A73B-231FCFF4D503}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{58D94A0E-C2B7-43A7-8826-99ECBB1E0A50}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IdentitySample.Mvc", "samples\IdentitySample.Mvc\IdentitySample.Mvc.csproj", "{E1BFA023-CFFD-49CE-8466-1C28DD2EC1F6}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EF.Test", "test\EF.Test\Microsoft.AspNetCore.Identity.EntityFrameworkCore.Test.csproj", "{37236EA3-915D-46D5-997C-DF513C500E4B}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Identity.EntityFrameworkCore.Test", "test\EF.Test\Microsoft.AspNetCore.Identity.EntityFrameworkCore.Test.csproj", "{37236EA3-915D-46D5-997C-DF513C500E4B}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EF.InMemory.Test", "test\EF.InMemory.Test\Microsoft.AspNetCore.Identity.EntityFrameworkCore.InMemory.Test.csproj", "{EA7EB28F-53B8-4009-9C6B-74DB090CA8DD}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Identity.EntityFrameworkCore.InMemory.Test", "test\EF.InMemory.Test\Microsoft.AspNetCore.Identity.EntityFrameworkCore.InMemory.Test.csproj", "{EA7EB28F-53B8-4009-9C6B-74DB090CA8DD}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EF", "src\EF\Microsoft.AspNetCore.Identity.EntityFrameworkCore.csproj", "{4490894C-3572-4E63-86F1-EE5105CE8A06}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Identity.EntityFrameworkCore", "src\EF\Microsoft.AspNetCore.Identity.EntityFrameworkCore.csproj", "{4490894C-3572-4E63-86F1-EE5105CE8A06}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspNetCoreCompat", "src\AspNetCoreCompat\Microsoft.AspNet.Identity.AspNetCoreCompat.csproj", "{6A74C6EA-B241-4D6B-BCE4-BF89EC1D2475}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNet.Identity.AspNetCoreCompat", "src\AspNetCoreCompat\Microsoft.AspNet.Identity.AspNetCoreCompat.csproj", "{6A74C6EA-B241-4D6B-BCE4-BF89EC1D2475}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Specification.Tests", "src\Specification.Tests\Microsoft.AspNetCore.Identity.Specification.Tests.csproj", "{5608E828-DD54-4E2A-B73C-FC22268BE797}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Identity.Specification.Tests", "src\Specification.Tests\Microsoft.AspNetCore.Identity.Specification.Tests.csproj", "{5608E828-DD54-4E2A-B73C-FC22268BE797}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Core", "src\Core\Microsoft.Extensions.Identity.Core.csproj", "{D5905D78-A32E-44B8-8F21-EDAEDC95D9B8}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.Identity.Core", "src\Core\Microsoft.Extensions.Identity.Core.csproj", "{D5905D78-A32E-44B8-8F21-EDAEDC95D9B8}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Stores", "src\Stores\Microsoft.Extensions.Identity.Stores.csproj", "{FADA11FC-DC06-4832-A569-7B2374A6CD42}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.Identity.Stores", "src\Stores\Microsoft.Extensions.Identity.Stores.csproj", "{FADA11FC-DC06-4832-A569-7B2374A6CD42}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{2C657F6C-D8AD-4833-9C59-2301A16957BD}"
ProjectSection(SolutionItems) = preProject
@@ -44,7 +45,13 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IdentitySample.DefaultUI", "samples\IdentitySample.DefaultUI\IdentitySample.DefaultUI.csproj", "{D5FB2E24-4C71-430C-A289-59C8D59164B0}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UI", "src\UI\Microsoft.AspNetCore.Identity.UI.csproj", "{1FB3E9BB-E20A-4807-A4C3-F86A341304DB}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Identity.UI", "src\UI\Microsoft.AspNetCore.Identity.UI.csproj", "{1FB3E9BB-E20A-4807-A4C3-F86A341304DB}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Identity.FunctionalTests", "test\Identity.FunctionalTests\Microsoft.AspNetCore.Identity.FunctionalTests.csproj", "{BAC36757-9A47-43CB-A6F3-86E8C4650A28}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebSites", "WebSites", "{C47C1165-9F19-4DF8-ABA9-707ACEB3BDC7}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Identity.DefaultUI.WebSite", "test\WebSites\Identity.DefaultUI.WebSite\Identity.DefaultUI.WebSite.csproj", "{EA424B4D-0BE1-49AC-A106-CC6CC808A104}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -252,6 +259,38 @@ Global
{1FB3E9BB-E20A-4807-A4C3-F86A341304DB}.Release|x64.Build.0 = Release|Any CPU
{1FB3E9BB-E20A-4807-A4C3-F86A341304DB}.Release|x86.ActiveCfg = Release|Any CPU
{1FB3E9BB-E20A-4807-A4C3-F86A341304DB}.Release|x86.Build.0 = Release|Any CPU
+ {BAC36757-9A47-43CB-A6F3-86E8C4650A28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BAC36757-9A47-43CB-A6F3-86E8C4650A28}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BAC36757-9A47-43CB-A6F3-86E8C4650A28}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {BAC36757-9A47-43CB-A6F3-86E8C4650A28}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {BAC36757-9A47-43CB-A6F3-86E8C4650A28}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {BAC36757-9A47-43CB-A6F3-86E8C4650A28}.Debug|x64.Build.0 = Debug|Any CPU
+ {BAC36757-9A47-43CB-A6F3-86E8C4650A28}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {BAC36757-9A47-43CB-A6F3-86E8C4650A28}.Debug|x86.Build.0 = Debug|Any CPU
+ {BAC36757-9A47-43CB-A6F3-86E8C4650A28}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BAC36757-9A47-43CB-A6F3-86E8C4650A28}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BAC36757-9A47-43CB-A6F3-86E8C4650A28}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {BAC36757-9A47-43CB-A6F3-86E8C4650A28}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {BAC36757-9A47-43CB-A6F3-86E8C4650A28}.Release|x64.ActiveCfg = Release|Any CPU
+ {BAC36757-9A47-43CB-A6F3-86E8C4650A28}.Release|x64.Build.0 = Release|Any CPU
+ {BAC36757-9A47-43CB-A6F3-86E8C4650A28}.Release|x86.ActiveCfg = Release|Any CPU
+ {BAC36757-9A47-43CB-A6F3-86E8C4650A28}.Release|x86.Build.0 = Release|Any CPU
+ {EA424B4D-0BE1-49AC-A106-CC6CC808A104}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {EA424B4D-0BE1-49AC-A106-CC6CC808A104}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EA424B4D-0BE1-49AC-A106-CC6CC808A104}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {EA424B4D-0BE1-49AC-A106-CC6CC808A104}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {EA424B4D-0BE1-49AC-A106-CC6CC808A104}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {EA424B4D-0BE1-49AC-A106-CC6CC808A104}.Debug|x64.Build.0 = Debug|Any CPU
+ {EA424B4D-0BE1-49AC-A106-CC6CC808A104}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {EA424B4D-0BE1-49AC-A106-CC6CC808A104}.Debug|x86.Build.0 = Debug|Any CPU
+ {EA424B4D-0BE1-49AC-A106-CC6CC808A104}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {EA424B4D-0BE1-49AC-A106-CC6CC808A104}.Release|Any CPU.Build.0 = Release|Any CPU
+ {EA424B4D-0BE1-49AC-A106-CC6CC808A104}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {EA424B4D-0BE1-49AC-A106-CC6CC808A104}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {EA424B4D-0BE1-49AC-A106-CC6CC808A104}.Release|x64.ActiveCfg = Release|Any CPU
+ {EA424B4D-0BE1-49AC-A106-CC6CC808A104}.Release|x64.Build.0 = Release|Any CPU
+ {EA424B4D-0BE1-49AC-A106-CC6CC808A104}.Release|x86.ActiveCfg = Release|Any CPU
+ {EA424B4D-0BE1-49AC-A106-CC6CC808A104}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -270,6 +309,9 @@ Global
{FADA11FC-DC06-4832-A569-7B2374A6CD42} = {0F647068-6602-4E24-B1DC-8ED91481A50A}
{D5FB2E24-4C71-430C-A289-59C8D59164B0} = {58D94A0E-C2B7-43A7-8826-99ECBB1E0A50}
{1FB3E9BB-E20A-4807-A4C3-F86A341304DB} = {0F647068-6602-4E24-B1DC-8ED91481A50A}
+ {BAC36757-9A47-43CB-A6F3-86E8C4650A28} = {52D59F18-62D2-4D17-8CF2-BE192445AF8E}
+ {C47C1165-9F19-4DF8-ABA9-707ACEB3BDC7} = {52D59F18-62D2-4D17-8CF2-BE192445AF8E}
+ {EA424B4D-0BE1-49AC-A106-CC6CC808A104} = {C47C1165-9F19-4DF8-ABA9-707ACEB3BDC7}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {21D598B0-2383-4B22-826D-E7FB4921BD66}
diff --git a/build/dependencies.props b/build/dependencies.props
index 3d388f83b8..1973f5d749 100644
--- a/build/dependencies.props
+++ b/build/dependencies.props
@@ -3,6 +3,7 @@
$(MSBuildAllProjects);$(MSBuildThisFileFullPath)
+ 0.9.9
2.1.0-preview2-15694
2.1.0-preview2-30020
2.1.0-preview2-30020
@@ -10,6 +11,7 @@
2.1.0-preview2-30020
2.1.0-preview2-30020
2.1.0-preview2-30020
+ 2.1.0-preview2-30020
2.1.0-preview2-30020
2.1.0-preview2-30020
2.1.0-preview2-30020
@@ -18,6 +20,7 @@
2.1.0-preview2-30020
2.1.0-preview2-30020
2.1.0-preview2-30020
+ 2.1.0-preview2-30020
2.1.0-preview2-30020
2.1.0-preview2-30020
2.1.0-preview2-30020
@@ -34,6 +37,7 @@
2.1.0-preview2-30020
2.1.0-preview2-30020
2.1.0-preview2-30020
+ 2.1.0-preview2-30020
2.1.0-preview2-30020
2.1.0-preview2-30020
2.1.0-preview2-30020
diff --git a/src/UI/Areas/Identity/Pages/Account/LoginWith2fa.cshtml b/src/UI/Areas/Identity/Pages/Account/LoginWith2fa.cshtml
index c960eb8b22..94242c929e 100644
--- a/src/UI/Areas/Identity/Pages/Account/LoginWith2fa.cshtml
+++ b/src/UI/Areas/Identity/Pages/Account/LoginWith2fa.cshtml
@@ -33,7 +33,7 @@
Don't have access to your authenticator device? You can
- log in with a recovery code.
+ log in with a recovery code.
@section Scripts {
diff --git a/src/UI/Areas/Identity/Pages/Account/Manage/EnableAuthenticator.cshtml b/src/UI/Areas/Identity/Pages/Account/Manage/EnableAuthenticator.cshtml
index 768289acaa..67debf1fc9 100644
--- a/src/UI/Areas/Identity/Pages/Account/Manage/EnableAuthenticator.cshtml
+++ b/src/UI/Areas/Identity/Pages/Account/Manage/EnableAuthenticator.cshtml
@@ -34,7 +34,7 @@