public HttpResponseMessage GetAccessToken([FromBody] AuthenticationRequestDTO data) { var respMessage = new HttpResponseMessage(); if (data == null) { return(BaseController.Security.GetMessageUnauthorizedLogin(respMessage)); } if (data.sKey == null) { return(BaseController.Security.GetMessageUnauthorizedLogin(respMessage)); } var sKey = string.Empty; var isUserNamePasswordValid = false; var loginRequest = new UserRequestDTO { nickName = data.userName.ToLower(), email = data.email }; if (data != null) { var messageError = string.Empty; if (_userBusiness.SelectUserByData(data.userName, data.email, data.sKey, out messageError)) { sKey = data.sKey; } else { sKey = null; } if (!string.IsNullOrWhiteSpace(messageError)) { return(BaseController.Security.GetMessageInternalError(respMessage, messageError)); } isUserNamePasswordValid = sKey == null ? false : true; } if (isUserNamePasswordValid) { var expires = string.Empty; var sToken = string.Empty; var proccessDate = DateTime.Now; var token = BaseController.Security.CreteToken(loginRequest.nickName, sKey); if (string.IsNullOrWhiteSpace(token)) { return(BaseController.Security.GetMessageUnauthorizedLogin(respMessage)); } BaseController.Security.GetMessageAuthorizedLogin(respMessage, BaseController.Security.SetCookieSession(loginRequest, token, Request, out expires, out sToken), sToken, proccessDate, data.email, data.nameSystem); if (!_authBusiness.InsertToken(new AuthenticationResponseDTO { email = data.email, expires = Convert.ToDateTime(expires), nameSystem = data.nameSystem, processDate = proccessDate, token = token })) { respMessage = BaseController.Security.MessageUnauthorized(Request); } } else { respMessage = BaseController.Security.MessageUnauthorized(Request); } return(respMessage); }