public void GetUserNameByEmail_Creates_a_FindUserByEmailQuery_and_Passes_it_to_Repository() { var email = "*****@*****.**"; var appName = "myApp"; var findUsersByEmailQuery = new FindUserByEmailQuery(email, appName); _queryFactory.Setup(qf => qf.createFindUserByEmailQuery(email, appName)).Returns(findUsersByEmailQuery); testObject.GetUserNameByEmail(email); _repository.Verify(r => r.GetOne(findUsersByEmailQuery)); }
public void FindUsersByEmailQuery_Correctly_Builds_Expression() { var testObject = new FindUserByEmailQuery("*****@*****.**", "myApp"); var exp = testObject.MatchingCriteria; Expression body = exp.Body; Assert.Equal(ExpressionType.AndAlso, body.NodeType); Assert.Contains("(user.Email == value(nHibernate.Membership.Provider.Queries.FindUserByEmailQuery)._emailAddress)", body.ToString()); Assert.Contains("(user.ApplicationName == value(nHibernate.Membership.Provider.Queries.FindUserByEmailQuery)._applicationName)", body.ToString()); }
public User Create(string email, string plainTextPassword) { var query = new FindUserByEmailQuery(email); var existingUser = _queryExecutor.Execute(query); if (existingUser.Count > 0) { throw new EmailAddressAlreadyTakenException(); } var hashedPassword = _passwordHashingService.SaltAndHash(plainTextPassword); var user = User.Register(email, hashedPassword, _clock.UtcNow); _userRepository.Add(user); return user; }
public User Create(string email, string plainTextPassword) { var query = new FindUserByEmailQuery(email); var existingUser = _queryExecutor.Execute(query); if (existingUser.Count > 0) { throw new EmailAddressAlreadyTakenException(); } var hashedPassword = _passwordHashingService.SaltAndHash(plainTextPassword); var user = User.Register(email, hashedPassword, _clock.UtcNow); _userRepository.Add(user); return(user); }
public AuthenticationResult Authenticate(string email, string password) { var query = new FindUserByEmailQuery(email); var user = _queryExecutor.Execute(query).FirstOrDefault(); if (user == null) { return(new AuthenticationResult { Success = false, FailureReason = "Email address is unknown" }); } var isPasswordCorrect = _passwordHashingService.TryVerify(password, user.HashedPassword); if (!isPasswordCorrect) { return(new AuthenticationResult { Success = false, FailureReason = "Password is incorrect" }); } var claims = new List <Claim> { new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()), new Claim(ClaimTypes.Role, "User"), new Claim(ClaimTypes.Name, user.Email) }; var token = _authTokenService.GenerateAuthToken(user.Id, claims); return(new AuthenticationResult { Success = true, AuthToken = token }); }
public AuthenticationResult Authenticate(string email, string password) { var query = new FindUserByEmailQuery(email); var user = _queryExecutor.Execute(query).FirstOrDefault(); if (user == null) { return new AuthenticationResult { Success = false, FailureReason = "Email address is unknown" }; } var isPasswordCorrect = _passwordHashingService.TryVerify(password, user.HashedPassword); if (!isPasswordCorrect) { return new AuthenticationResult { Success = false, FailureReason = "Password is incorrect" }; } var claims = new List<Claim> { new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()), new Claim(ClaimTypes.Role, "User"), new Claim(ClaimTypes.Name, user.Email) }; var token = _authTokenService.GenerateAuthToken(user.Id, claims); return new AuthenticationResult { Success = true, AuthToken = token }; }