public static AppUserManager Create(IdentityFactoryOptions <AppUserManager> options, IOwinContext context) { var userStore = new AppUserStore(context.Get <AppSecurityContext>()); var manager = new AppUserManager(userStore); // Configure la lógica de validación de nombres de usuario manager.UserValidator = new AppUserValidator(manager) { AllowOnlyAlphanumericUserNames = false, RequireUniqueEmail = true }; // Configure la lógica de validación de contraseñas manager.PasswordValidator = new PasswordValidator { RequiredLength = 6, RequireNonLetterOrDigit = true, RequireDigit = true, RequireLowercase = true, RequireUppercase = true, }; // Configurar valores predeterminados para bloqueo de usuario manager.UserLockoutEnabledByDefault = true; manager.DefaultAccountLockoutTimeSpan = TimeSpan.FromMinutes(5); manager.MaxFailedAccessAttemptsBeforeLockout = 5; // Registre proveedores de autenticación en dos fases. Esta aplicación usa los pasos Teléfono y Correo electrónico para recibir un código para comprobar el usuario // Puede escribir su propio proveedor y conectarlo aquí. manager.RegisterTwoFactorProvider("Código telefónico", new PhoneNumberTokenProvider <AppUser, long> { MessageFormat = "Su código de seguridad es {0}" }); manager.RegisterTwoFactorProvider("Código de correo electrónico", new EmailTokenProvider <AppUser, long> { Subject = "Código de seguridad", BodyFormat = "Su código de seguridad es {0}" }); manager.EmailService = new EmailService(); manager.SmsService = new SmsService(); var dataProtectionProvider = options.DataProtectionProvider; if (dataProtectionProvider != null) { manager.UserTokenProvider = new AppDataProtectorTokenProvider(dataProtectionProvider.Create("ASP.NET Identity")); } return(manager); }
public AppUserManager(AppUserStore store) : base(store) { }