Я нашел решение: https://forums.asp.net/t/2128896.aspx?Two+factor+cookie+options+in+ASP+Core+2+0
Кажется, много работы просто по изменению имени файла cookie 2FA, но это единственное решение, которое я нашел.Если есть более простой способ, пожалуйста, дайте мне знать ...
Если у кого-то еще есть эта проблема, вам, в основном, нужно заменить схемы Identity по умолчанию, поэтому вам нужно заменить ваши службы. Конфигурация AddIdentity на:
var builder = services.AddIdentityCore<ApplicationUser>(options =>
{
//options.Stores.MaxLengthForKeys = 128;
//options.SignIn.RequireConfirmedEmail = true;
}
);
builder = new IdentityBuilder(builder.UserType, typeof(ApplicationRole), builder.Services);
builder.AddRoleValidator<RoleValidator<ApplicationRole>>();
builder.AddRoleManager<RoleManager<ApplicationRole>>();
builder.AddSignInManager<SignInManager<ApplicationUser>>();
builder.AddEntityFrameworkStores<ApplicationDbContext>().AddDefaultTokenProviders();
Затем добавьте схемы идентификации:
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = IdentityConstants.ApplicationScheme;
options.DefaultChallengeScheme = IdentityConstants.ApplicationScheme;
options.DefaultSignInScheme = IdentityConstants.ExternalScheme;
})
.AddCookie(IdentityConstants.ApplicationScheme, o =>
{
o.Cookie.Name = "appCookie";
o.LoginPath = new PathString("/account/login");
o.LogoutPath = new PathString("/account/logout");
o.AccessDeniedPath = new PathString("/account/accessdenied");
})
.AddCookie(IdentityConstants.ExternalScheme, o =>
{
o.Cookie.Name = "externalCookie";
})
.AddCookie(IdentityConstants.TwoFactorRememberMeScheme, o =>
{
o.Cookie.Name = "2faCookie";
})
.AddCookie(IdentityConstants.TwoFactorUserIdScheme, o =>
{
o.Cookie.Name = "2faUserIdCookie";
}); ;