Example #1
0
        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");
            }));
        }