public async Task <IActionResult> GetToken([FromBody] LoginViewModel loginViewModel) { if (!ModelState.IsValid) { NotifyModelStateErrors(); return(ResponseBadRequest()); } var user = _mapper.Map <User>(loginViewModel); var userIdentity = await _accessManager.GetUserByUsername(user.UserName); if (userIdentity != null) { var resultLogin = await _accessManager.ValidateCredentials(userIdentity, user.PasswordHash); if (resultLogin.Succeeded) { var token = await _accessManager.GenerateToken(userIdentity); return(Response(token)); } if (resultLogin.IsLockedOut) { NotifyError("user", $"User is locked out"); return(ResponseBadRequest()); } } NotifyError("user", $"Username or password is incorrect."); return(ResponseBadRequest()); }