public async Task <IActionResult> Login([FromBody] LoginModel model) { var result = await _userService.Login(new LoginDto { Name = model.Name, Password = model.Password }); if (!result.Success) { return(BadRequest(result.Errors, result.Message)); } var tokenHandler = new JwtSecurityTokenHandler(); var secret = _jwtHelper.GetJwtSecret(); var key = Encoding.ASCII.GetBytes(secret); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(new Claim[] { new Claim("UserId", result.Data), new Claim("UserName", model.Name) }), Expires = DateTime.UtcNow.AddDays(7), SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature) }; var token = tokenHandler.CreateToken(tokenDescriptor); var generatedToken = tokenHandler.WriteToken(token); return(Success(new LoginResponseModel { AccessToken = generatedToken }, "Login successfully.")); }