/// <summary> /// Configures non-default identity options. /// </summary> /// <param name="options">Current identity options.</param> public static void Configure(IdentityOptions options) { if (options == null) throw new ArgumentNullException(nameof(options)); var passwordOptions = options.Password; passwordOptions.RequireDigit = true; passwordOptions.RequireLowercase = true; passwordOptions.RequireUppercase = true; passwordOptions.RequireNonLetterOrDigit = false; passwordOptions.RequiredLength = 7; }
public SecurityStampValidator(Container container, IOptions<IdentityOptions> options) { Query = container.GetInstance<IExecuteQuery>(); Options = options.Value; }
private Mock<SignInManager<AccountingUser>> BuildMockSignInManager(bool signIn = true) { var userManager = BuildMockUserRepo(); var context = new Mock<HttpContext>(); var contextAccessor = new Mock<IHttpContextAccessor>(); contextAccessor.Setup(a => a.HttpContext).Returns(context.Object); var roleStore = new Mock<IRoleStore<string>>().Object; var roles = new List<IRoleValidator<string>>(); var roleManager = new RoleManager<string>(roleStore, roles, new UpperInvariantLookupNormalizer(), new IdentityErrorDescriber(), null, null); var identityOptions = new IdentityOptions(); var options = new Mock<IOptions<IdentityOptions>>(); options.Setup(a => a.Value).Returns(identityOptions); var claimsFactory = new UserClaimsPrincipalFactory<AccountingUser, string>(userManager.Object, roleManager, options.Object); var manager = new Mock<SignInManager<AccountingUser>>(userManager.Object, contextAccessor.Object, claimsFactory, null, null); manager.Setup(mgr => mgr.PasswordSignInAsync(It.IsAny<AccountingUser>(), It.IsAny<string>(), true, false)) .Returns(Task.FromResult(signIn ? SignInResult.Success : SignInResult.Failed)); manager.Setup(mgr => mgr.SignOutAsync()) .Returns(Task.FromResult(0)); return manager; }
public static async Task LogOffAsync(this AuthenticationManager authentication, IdentityOptions options) { await authentication.SignOutAsync(options.Cookies.ApplicationCookieAuthenticationScheme); await authentication.SignOutAsync(options.Cookies.ExternalCookieAuthenticationScheme); }