public async Task <ServiceResultModel <JwtToken> > LoginUser(UserLoginPostModel model) { var result = new ServiceResultModel <JwtToken>(); var loginResult = await signInManager.PasswordSignInAsync(model.Username, model.Password, false, lockoutOnFailure : false); if (loginResult.Succeeded) { var user = await userManager.FindByNameAsync(model.Username); if (!user.Deleted) { result.DataResult = GenerateTokenForUser(user.UserName); } else { result.Error = true; result.ErrorMessage = UserMessages.InvalidLoginData(); } } else if (loginResult.IsLockedOut) { result.Error = true; result.ErrorMessage = UserMessages.LockedAccount(); } else { result.Error = true; result.ErrorMessage = UserMessages.InvalidLoginData(); } return(result); }
public async Task <IActionResult> Token([FromBody] UserLoginPostModel userPostModel) { if (!ModelState.IsValid) { return(BadRequest(new ErrorResponse { StatusCode = 400, Message = "Uncorrected data" })); } var user = await authService.GetIdentityAsync( username : userPostModel.Email, password : userPostModel.Password); if (user == null) { return(BadRequest(new ErrorResponse { StatusCode = 400, Message = "Invalid login or password" })); } var accessToken = authService.GetBearerToken(user); return(Ok(accessToken)); }
public async Task <IActionResult> Login([FromForm] UserLoginPostModel model) { if (ModelState.IsValid) { var result = await userService.LoginUser(model); if (!result.Error) { return(Ok(result.DataResult)); } return(BadRequest(result.ErrorMessage)); } return(BadRequest()); }
public async Task <IActionResult> Login([FromBody][Bind("Email, Password")] UserLoginPostModel userview) { var login = _mapper.Map <User>(userview); if (_authService.IsUserDisabled(login)) { return(Unauthorized("User disabled")); } User user = _authService.AuthUser(login); if (user == null) { return(Unauthorized("Incorrect email or password")); } var response = await _jwtTokenGenerator.NewAsync(user); if (user.Claims != null && user.Claims.Length > 0) { return(Ok( new { Name = user.Name, Surname = user.Surname ?? "", IsAdmin = user.Claims != null && user.Claims.Length > 0, Token = response.token, RefreshToken = response.refreshToken })); } return(Ok( new { Name = user.Name, Surname = user.Surname ?? "", Token = response.token, RefreshToken = response.refreshToken })); }