public static PawUserManager Create(IdentityFactoryOptions <PawUserManager> options, IOwinContext context) { // Create the manager var manager = new PawUserManager(new PawUserStore(context.Get <DataContext>())); // Configure validation logic for usernames manager.UserValidator = new UserValidator <User, Guid>(manager) { AllowOnlyAlphanumericUserNames = false, RequireUniqueEmail = true }; // Configure validation logic for passwords manager.PasswordValidator = new PasswordValidator { RequiredLength = 8, RequireNonLetterOrDigit = false, RequireDigit = true, RequireLowercase = true, RequireUppercase = true, }; // Configure user lockout defaults manager.UserLockoutEnabledByDefault = true; manager.DefaultAccountLockoutTimeSpan = TimeSpan.FromMinutes(5); manager.MaxFailedAccessAttemptsBeforeLockout = 5; // Two factor Authentication // Register two factor authentication providers. This application uses Phone and Emails as a step of receiving a code for verifying the user // You can write your own provider and plug it in here. //manager.RegisterTwoFactorProvider("Phone Code", new PhoneNumberTokenProvider<User> //{ // MessageFormat = "Your security code is {0}" //}); //manager.RegisterTwoFactorProvider("Email Code", new EmailTokenProvider<User> //{ // Subject = "Security Code", // BodyFormat = "Your security code is {0}" //}); manager.EmailService = new EmailService(); // manager.SmsService = new SmsService(); var dataProtectionProvider = options.DataProtectionProvider; if (dataProtectionProvider != null) { manager.UserTokenProvider = new DataProtectorTokenProvider <User, Guid>(dataProtectionProvider.Create("ASP.NET Identity")) { TokenLifespan = TimeSpan.FromDays(1) }; } return(manager); }
public PawSignInManager(PawUserManager userManager, IAuthenticationManager authenticationManager) : base(userManager, authenticationManager) { }