public static CommunauteManager Create(IdentityFactoryOptions <CommunauteManager> options, IOwinContext context) { var manager = new CommunauteManager(new CustomUserStore(context.Get <ApplicationDbContext>())); // Configurer la logique de validation pour les noms d'utilisateur manager.UserValidator = new UserValidator <Communaute, int>(manager) { AllowOnlyAlphanumericUserNames = false, RequireUniqueEmail = true }; // Configurer la logique de validation pour les mots de passe manager.PasswordValidator = new PasswordValidator { RequiredLength = 6, RequireNonLetterOrDigit = true, RequireDigit = true, RequireLowercase = true, RequireUppercase = true, }; // Configurer les valeurs par défaut du verrouillage de l'utilisateur manager.UserLockoutEnabledByDefault = true; manager.DefaultAccountLockoutTimeSpan = TimeSpan.FromMinutes(5); manager.MaxFailedAccessAttemptsBeforeLockout = 5; // Inscrire les fournisseurs d'authentification à 2 facteurs. Cette application utilise le téléphone et les e-mails comme procédure de réception de code pour confirmer l'utilisateur // Vous pouvez écrire votre propre fournisseur et le connecter ici. manager.RegisterTwoFactorProvider("Code téléphonique ", new PhoneNumberTokenProvider <Communaute, int> { MessageFormat = "Votre code de sécurité est {0}" }); manager.RegisterTwoFactorProvider("Code d'e-mail", new EmailTokenProvider <Communaute, int> { Subject = "Code de sécurité", BodyFormat = "Votre code de sécurité est {0}" }); manager.EmailService = new EmailService(); manager.SmsService = new SmsService(); var dataProtectionProvider = options.DataProtectionProvider; if (dataProtectionProvider != null) { manager.UserTokenProvider = new DataProtectorTokenProvider <Communaute, int>(dataProtectionProvider.Create("ASP.NET Identity")); } return(manager); }
public ApplicationSignInManager(CommunauteManager userManager, IAuthenticationManager authenticationManager) : base(userManager, authenticationManager) { }