public async Task BruteforceBlockIsWorking() { using (var transaction = Fixture.Connection.BeginTransaction()) { using (var context = Fixture.CreateContext(transaction)) { Mock <UserManager> userManagerMock = new Mock <UserManager>((new Mock <IUserStore <AppUser> >()).Object, null, null, null, null, null, null, null, null, null); AppUser returnedUser = await context.Users.SingleAsync(u => u.Email == "*****@*****.**"); userManagerMock.Setup(u => u.FindByNameAsync("JohnDoe")) .ReturnsAsync(returnedUser); BruteforceManager manager = new BruteforceManager(context, (UserManager)userManagerMock.Object); IPAddress ip = IPAddress.Parse("192.168.5.34"); IPAddress otherIp = IPAddress.Parse("192.168.5.35"); await manager.MarkInvalidLoginAttemptAsync(ip, "User Agent", "JohnDoe"); Assert.False(await manager.IsIpBlockedAsync(ip)); Assert.False(await manager.IsUserBlockedAsync(returnedUser)); for (int i = 1; i < 10; i++) { await manager.MarkInvalidLoginAttemptAsync(ip, "User Agent", "JohnDoe"); } Assert.True(await manager.IsIpBlockedAsync(ip)); Assert.False(await manager.IsIpBlockedAsync(otherIp)); Assert.True(await manager.IsUserBlockedAsync(returnedUser)); } } }
public AuthService( UserManager userManager, SignInManager <AppUser> signInManager, AuthDbContext authDbContext, BruteforceManager bruteforceManager, SessionManager sessionManager, ProfileImageManager profileImageManager ) { _userManager = userManager; _signInManager = signInManager; _authDbContext = authDbContext; _bruteforceManager = bruteforceManager; _sessionManager = sessionManager; _profileImageManager = profileImageManager; }
public AuthService( UserManager userManager, SignInManager <AppUser> signInManager, AuthDbContext authDbContext, BruteforceManager bruteforceManager, SessionManager sessionManager, ProfileImageManager profileImageManager, HIBPClient hibpClient, DeviceCookieManager deviceCookieManager ) { _userManager = userManager; _signInManager = signInManager; _authDbContext = authDbContext; _bruteforceManager = bruteforceManager; _sessionManager = sessionManager; _profileImageManager = profileImageManager; _hibpClient = hibpClient; _deviceCookieManager = deviceCookieManager; }