diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/Startup.cs b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/Startup.cs index 9996e5e40d..ac5aee92be 100644 --- a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/Startup.cs +++ b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/Startup.cs @@ -67,7 +67,7 @@ namespace BlazorServerWeb_CSharp options.UseSqlite( Configuration.GetConnectionString("DefaultConnection"))); #endif - services.AddDefaultIdentity() + services.AddDefaultIdentity(options => options.SignIn.RequireConfirmedAccount = true) .AddEntityFrameworkStores(); #elif (OrganizationalAuth) services.AddAuthentication(AzureADDefaults.AuthenticationScheme) diff --git a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/Startup.cs b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/Startup.cs index 053345327c..cc090bade1 100644 --- a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/Startup.cs +++ b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/Startup.cs @@ -44,7 +44,7 @@ namespace Company.WebApplication1 Configuration.GetConnectionString("DefaultConnection"))); #endif - services.AddDefaultIdentity() + services.AddDefaultIdentity(options => options.SignIn.RequireConfirmedAccount = true) .AddEntityFrameworkStores(); services.AddIdentityServer() diff --git a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/Startup.cs b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/Startup.cs index 13319df968..62cbe5f557 100644 --- a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/Startup.cs +++ b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/Startup.cs @@ -44,7 +44,7 @@ namespace Company.WebApplication1 Configuration.GetConnectionString("DefaultConnection"))); #endif - services.AddDefaultIdentity() + services.AddDefaultIdentity(options => options.SignIn.RequireConfirmedAccount = true) .AddEntityFrameworkStores(); services.AddIdentityServer() diff --git a/src/ProjectTemplates/test/SpaTemplateTest/SpaTemplateTestBase.cs b/src/ProjectTemplates/test/SpaTemplateTest/SpaTemplateTestBase.cs index 693a1048ce..a5b5de2167 100644 --- a/src/ProjectTemplates/test/SpaTemplateTest/SpaTemplateTestBase.cs +++ b/src/ProjectTemplates/test/SpaTemplateTest/SpaTemplateTestBase.cs @@ -273,6 +273,23 @@ namespace Templates.Test.SpaTemplateTest browser.FindElement(By.Name("Input.Password")).SendKeys(password); browser.FindElement(By.Name("Input.ConfirmPassword")).SendKeys(password); browser.FindElement(By.Id("registerSubmit")).Click(); + + // We will be redirected to the RegisterConfirmation + browser.Contains("/Identity/Account/RegisterConfirmation", () => browser.Url); + browser.FindElement(By.PartialLinkText("Click here to confirm your account")).Click(); + + // We will be redirected to the ConfirmEmail + browser.Contains("/Identity/Account/ConfirmEmail", () => browser.Url); + + // Now we can login + browser.FindElement(By.PartialLinkText("Login")).Click(); + browser.Exists(By.Name("Input.Email")); + browser.FindElement(By.Name("Input.Email")).SendKeys(userName); + browser.FindElement(By.Name("Input.Password")).SendKeys(password); + browser.FindElement(By.Id("login-submit")).Click(); + + // Need to navigate to fetch page + browser.FindElement(By.PartialLinkText("Fetch data")).Click(); } // Can navigate to the 'fetch data' page