public HttpResponseMessage PerformLogin([FromBody] UserDto userDto) { return(HandleRequestSafely(() => { if (userDto == null) { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Incorrect request"); } userDto.Password = JwtManager.DecryptBase64(userDto.Password); userDto.Email = JwtManager.DecryptBase64(userDto.Email); var userFactory = new UserFactory(); var user = _userService.PerformLogin(userFactory.GetUserFromDto(userDto)); if (user != null) { var response = Request.CreateResponse(HttpStatusCode.OK); response.Headers.Add(Settings.TokenKey, JwtManager.GenerateToken(user)); response.Headers.Add("Access-Control-Expose-Headers", Settings.TokenKey); return response; } return Request.CreateErrorResponse(HttpStatusCode.Unauthorized, "Username and/or password are incorect"); })); }