public IActionResult ValidateLogin([FromBody] LoginRequestDto loginRequest) { try { _log.Info($"ValidateLogin Callling: {loginRequest?.LoginName}"); var user = _userViewRepository.ValidateLogin(loginRequest.LoginName, loginRequest.Password); if (user == null) { return(StatusCode(401, new ErrorModel { HttpStatusCode = 401, Message = "Invalid UserName and Password" })); } var userDto = _mapper.Map <UserDto>(user); return(Ok(userDto)); } catch (Exception ex) { _log.Error($"Error in ValidateLogin - ", ex); return(StatusCode(500, new ErrorModel { HttpStatusCode = 500, Message = "Internal Server Error" })); } }
public IActionResult Login([FromBody] LoginRequestDto model) { var user = _userViewRepository.ValidateLogin(model.LoginName, model.Password); if (user != null) { var role = _roleViewRepository.GetRoleById(user.RoleId); var authClaims = new List <Claim> { new Claim(ClaimTypes.Name, user.LoginName), new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()), new Claim(ClaimTypes.Role, role.RoleName) }; var authSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration["JWT:Secret"])); var token = new JwtSecurityToken( //issuer: _configuration["JWT:ValidIssuer"], //audience: _configuration["JWT:ValidAudience"], expires: DateTime.Now.AddHours(10), claims: authClaims, signingCredentials: new SigningCredentials(authSigningKey, SecurityAlgorithms.HmacSha256Signature) ); var userDto = _mapper.Map <UserDto>(user); userDto.Token = new JwtSecurityTokenHandler().WriteToken(token); userDto.TokenExpiration = token.ValidTo; userDto.LastLogin = DateTime.Now; return(Ok(userDto)); } return(Unauthorized()); }