public async Task ShouldReturnExistingUserOnValidCandidateIdAndPassword() { ILogger logger = new ConsoleLogger(); LoginRequestValidator validator = new LoginRequestValidator(); PasswordHasher passwordHasher = new PasswordHasher(); LoginDto loginDto = new LoginDto() { CandidateId = "aaabbb000", Password = "******" }; var query = new LoginUserQuery(logger, validator, DbContext.Object, passwordHasher); var result = await query.Execute(loginDto); Assert.AreEqual(result, GetUserCollection()[0]); }
public async Task ValidateAsync(ResourceOwnerPasswordValidationContext context) { User user = null; try { user = await _loginUserQuery.Execute(new LoginDto() { CandidateId = context.UserName, Password = context.Password }); context.Result = new GrantValidationResult(user.Id.ToString(), OidcConstants.AuthenticationMethods.Password); return; } catch (Exception e) { _logger.Log(e); context.Result = new GrantValidationResult(TokenRequestErrors.InvalidGrant, "Validation Error"); } }