public static ApplicationUserManager Create(IdentityFactoryOptions <ApplicationUserManager> options, IOwinContext context) { var manager = new ApplicationUserManager(new UserStore <User>(context.GetContext())); //context.Get<AppDbContext>())); // Настройка логики проверки имен пользователей manager.UserValidator = new UserValidator(manager); // Настройка логики проверки паролей manager.PasswordValidator = new PasswordValidator { RequiredLength = 6, RequireNonLetterOrDigit = false, RequireDigit = true, RequireLowercase = true, RequireUppercase = false, }; // Настройка параметров блокировки по умолчанию manager.UserLockoutEnabledByDefault = true; manager.DefaultAccountLockoutTimeSpan = TimeSpan.FromMinutes(5); manager.MaxFailedAccessAttemptsBeforeLockout = 5; // Регистрация поставщиков двухфакторной проверки подлинности. Для получения кода проверки пользователя в данном приложении используется телефон и сообщения электронной почты // Здесь можно указать собственный поставщик и подключить его. manager.RegisterTwoFactorProvider("Код, полученный по телефону", new PhoneNumberTokenProvider <User> { MessageFormat = "Ваш код безопасности: {0}" }); manager.RegisterTwoFactorProvider("Код из сообщения", new EmailTokenProvider <User> { Subject = "Код безопасности", BodyFormat = "Ваш код безопасности: {0}" }); manager.EmailService = new EmailService(); //manager.SmsService = new SmsService(); var dataProtectionProvider = options.DataProtectionProvider; if (dataProtectionProvider != null) { manager.UserTokenProvider = new DataProtectorTokenProvider <User>(dataProtectionProvider.Create("ASP.NET Identity")); } return(manager); }