public async Task <ReturnedUserVM> LogInUser(LoginUser10 user10) { try { if (string.IsNullOrWhiteSpace(user10.Password) || string.IsNullOrWhiteSpace(user10.UserName)) { throw new Exception("Username or password was incorrect."); } var user = await _userManager.FindByNameAsync(user10.UserName); if (user == null) { throw new Exception("No user with the selected username exists."); } var result = await _signInManager.PasswordSignInAsync(user.UserName, user10.Password, false, false); if (result.Succeeded) { ReturnedUserVM returnedUser = new ReturnedUserVM { UserId = user.Id, FrontEndToken = VerificationToken(), UserToken = await _userManager.GenerateUserTokenAsync(user, "Default", "authentication-backend"), Roles = await _userManager.GetRolesAsync(user) }; return(returnedUser); } else if (result.IsLockedOut) { throw new Exception("User is locked out. Please try again later."); } else { throw new Exception("Username or password was incorrect."); } } catch (Exception ex) { ReturnedUserVM returnedUser = new ReturnedUserVM { ErrorMessage = ex.Message }; return(returnedUser); } }
public async Task <IActionResult> SignIn(LoginUser10 user10) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = await _service.LogInUser(user10); if (!string.IsNullOrWhiteSpace(result.ErrorMessage)) { return(BadRequest(result.ErrorMessage)); } else { return(Ok(result)); } }