public static WebsiteUserManager Create(IdentityFactoryOptions <WebsiteUserManager> options, IOwinContext context) { //var manager = new WebsiteUserManager(new UserStore<WebsiteUser>(context.Get<ApplicationDbContext>())); var userStore = new WebsiteUserStore <WebsiteUser>(); var manager = new WebsiteUserManager(userStore); // Configure validation logic for usernames manager.UserValidator = new UserValidator <WebsiteUser, long>(manager) { AllowOnlyAlphanumericUserNames = false, RequireUniqueEmail = true }; // Configure validation logic for passwords manager.PasswordValidator = new PasswordValidator { RequiredLength = 6, //RequireNonLetterOrDigit = true, //RequireDigit = true, //RequireLowercase = true, //RequireUppercase = true, }; // Configure user lockout defaults manager.UserLockoutEnabledByDefault = true; manager.DefaultAccountLockoutTimeSpan = System.TimeSpan.FromMinutes(5); manager.MaxFailedAccessAttemptsBeforeLockout = 5; // 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 <WebsiteUser, long> { MessageFormat = "Your security code is {0}" }); manager.RegisterTwoFactorProvider("Email Code", new EmailTokenProvider <WebsiteUser, long> { 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 <WebsiteUser, long>(dataProtectionProvider.Create("OnefineRate User Identity")) { TokenLifespan = System.TimeSpan.FromHours(24) //TokenLifespan = System.TimeSpan.FromMinutes(1) }; } return(manager); }
public static WebsiteUser FindByPhone(string phone) { var userStore = new WebsiteUserStore <WebsiteUser>(); return(userStore.FindByPhoneAsync(phone)); }