Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions SpeakingInBitsWeb/Models/IdentityConfiguration.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
using Microsoft.AspNetCore.Identity;

namespace SpeakingInBitsWeb.Models
{
/// <summary>
/// Provides configuration methods for ASP.NET Core Identity options.
/// </summary>
public static class IdentityConfiguration
{
/// <summary>
/// Configures the Identity options for the application.
/// </summary>
/// <param name="options">The IdentityOptions to configure.</param>
public static void ConfigureIdentityOptions(IdentityOptions options)
{
// Password settings
options.Password.RequireDigit = false;
options.Password.RequireLowercase = false;
options.Password.RequireNonAlphanumeric = false;
options.Password.RequireUppercase = false;
options.Password.RequiredLength = 8;
options.Password.RequiredUniqueChars = 3;

// Lockout settings
options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromMinutes(5);
options.Lockout.MaxFailedAccessAttempts = 5;
options.Lockout.AllowedForNewUsers = true;

// User settings
options.User.AllowedUserNameCharacters =
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._@+";
options.User.RequireUniqueEmail = false;

// Sign in settings
options.SignIn.RequireConfirmedAccount = false;
options.SignIn.RequireConfirmedEmail = false;
options.SignIn.RequireConfirmedPhoneNumber = false;
}
}
}
2 changes: 1 addition & 1 deletion SpeakingInBitsWeb/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
options.UseSqlServer(connectionString));
builder.Services.AddDatabaseDeveloperPageExceptionFilter();

builder.Services.AddDefaultIdentity<ApplicationUser>(options => options.SignIn.RequireConfirmedAccount = true)
builder.Services.AddDefaultIdentity<ApplicationUser>(IdentityConfiguration.ConfigureIdentityOptions)
.AddRoles<IdentityRole>() // Add role support to Identity
.AddEntityFrameworkStores<ApplicationDbContext>();
builder.Services.AddControllersWithViews();
Expand Down