public async Task <IActionResult> Authenticate(AuthenticateRequest model) { AuthenticateResponse response; try { response = await _userService.Authenticate(model); } catch (Exception ex) { throw ex; } if (response is null) { return(BadRequest(new { message = "Username or password is incorrect" })); } return(Ok(response.Token)); }
private async Task <User> AuthenticateUser(AuthenticateRequest model) { var user = await _userManager.FindByEmailAsync(model.Email); if (user is null) { return(null); } var validators = _userManager.PasswordValidators .Select(x => x.ValidateAsync(_userManager, user, model.Password)); var results = await Task.WhenAll(validators); if (!results.Any(x => x.Succeeded)) { return(null); } return(user); }