public async Task <ClaimsIdentity> GenerateUserIdentityAsync(CustomUserManager manager) { // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie); // Add custom user claims here return(userIdentity); }
public static CustomUserManager Create(IdentityFactoryOptions <CustomUserManager> options, IOwinContext context) { var manager = new CustomUserManager(new CustomUserStore(context.Get <BusinessContext>())); // Configure validation logic for usernames manager.UserValidator = new UserValidator <CustomUser, int>(manager) { AllowOnlyAlphanumericUserNames = false, RequireUniqueEmail = true }; // Configure validation logic for passwords manager.PasswordValidator = new PasswordValidator { RequiredLength = 6, }; // Configure user lockout defaults manager.UserLockoutEnabledByDefault = false; manager.DefaultAccountLockoutTimeSpan = 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 <CustomUser, int> { MessageFormat = "Your security code is {0}" }); manager.RegisterTwoFactorProvider("Email Code", new EmailTokenProvider <CustomUser, int> { Subject = "Security Code", BodyFormat = "Your security code is {0}" }); var dataProtectionProvider = options.DataProtectionProvider; if (dataProtectionProvider != null) { manager.UserTokenProvider = new DataProtectorTokenProvider <CustomUser, int>(dataProtectionProvider.Create("ASP.NET Identity")); } return(manager); }