public async Task <IHttpActionResult> Login(LoginBindingModel model) { if (!ModelState.IsValid) { return(BadRequest()); } var user = UserManager.FindByName(model.Name); // This doesn't count login failures towards account lockout // To enable password failures to trigger account lockout, change to shouldLockout: true var result = await SignInManager.PasswordSignInAsync(model.Name, model.Password, false, shouldLockout : false); switch (result) { case SignInStatus.Success: string token = AuthenticationModule.GenerateToken(model.Name, user.Role); return(Ok(token)); //return Ok(user); //case SignInStatus.LockedOut: // return NotFound() ; //case SignInStatus.RequiresVerification: // return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe }); case SignInStatus.Failure: return(BadRequest()); default: ModelState.AddModelError("", "Invalid login attempt."); return(BadRequest()); } }
public TokenResponse GenerateToken([FromBody] User user) { if (ModelState.IsValid) { return(new TokenResponse { Status = "Success", JwtToken = AuthenticationModule.GenerateToken(user.UserName), Message = "Token generated successfully." }); } return(null); }