public UserLogin Login(UserEmailPass user) { string decodeEmail = HttpUtility.UrlDecode(user.Email); var userSalt = GetSalt(user.Email); string passwordHash = _cryptographyService.Hash(user.Password, userSalt.Salt, HASH_ITERATION_COUNT); UserLogin response = null; if (!String.IsNullOrEmpty(userSalt.Email) && userSalt.Password == passwordHash) { response = Get(user.Email, passwordHash); if (response != null) { _authenticationService.LogIn(response); } } return(response); }
public HttpResponseMessage Login(UserEmailPass user) { var loginUser = _userService.Login(user); if (loginUser != null) { if (user.Email == null || user.Password == null) { string errMsg = "User email or password is not valid, please try again."; return(Request.CreateResponse(HttpStatusCode.BadRequest, new ErrorResponse(errMsg))); } if (loginUser.UserTypeId == (int)UserTypes.Coach_Mentor && loginUser.IsMentorApproved == null) { return(Request.CreateErrorResponse(HttpStatusCode.Unauthorized, " STATUS: Pending Approval")); } if (!loginUser.IsConfirmed) { ModelState.AddModelError("User", "User is not confirmed!"); return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState)); } var response = Request.CreateResponse(HttpStatusCode.OK, new SuccessResponse()); var tempuserCookie = HttpContext.Current.Request.Cookies["tempuser"]; if (tempuserCookie != null) { var cookie = new CookieHeaderValue("tempuser", "0"); cookie.Expires = DateTimeOffset.Now.AddDays(-1); cookie.Domain = Request.RequestUri.Host; cookie.Path = "/"; response.Headers.AddCookies(new CookieHeaderValue[] { cookie }); } return(response); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, ModelState)); } }