public async Task <IActionResult> Authenticate([FromBody] LoginDto model) { if (string.IsNullOrEmpty(model.username) || string.IsNullOrEmpty(model.password)) { return(AppResponse.BadRequest("All fields are required")); } ModelValidator.Validate(model); string ipaddress = Helper.getIPAddress(this.Request); var authResponse = await authService.Authenticate(model, ipaddress); if (authResponse == null || authResponse.Token == null) { return(AppResponse.Unauthorized("Invalid Token")); } if (string.IsNullOrEmpty(authResponse.Token.AccessToken) || string.IsNullOrEmpty(authResponse.Token.RefreshToken)) { return(AppResponse.Unauthorized("Invalid Token")); } setTokenCookie(authResponse.Token.RefreshToken); return(AppResponse.Success(authResponse)); }
public async Task <IActionResult> Register(string Name, string Email, string Password, string ConfirmPassword) { //if (!ModelState.IsValid) //{ // var response = new // { // Status = 403, // Message = "ERROR", // Errors = CustomValidator.GetErrorsByModel(ModelState) // }; //} if (string.IsNullOrEmpty(Name) || string.IsNullOrEmpty(Email) || string.IsNullOrEmpty(Password) || string.IsNullOrEmpty(ConfirmPassword)) { return(BadRequest(AppResponse.BadRequest("All fields are required"))); } var model = new RegisterDto() { Name = Name, Email = Email, Password = Password, ConfirmPassword = ConfirmPassword, }; var result = await authService.SignUp(model, Request.Headers["origin"]); // if (result != 1) // { // var response = new // { // Message = "ERROR", // Status = 500, // Errors = CustomValidator.GetErrorsByIdentotyResult(result) // }; // } var response = new { Status = 200, Message = "OK" }; return(AppResponse.Success(response)); }
public async Task <IActionResult> Register(string Name, string Email, string Password, string ConfirmPassword) { if (string.IsNullOrEmpty(Name) || string.IsNullOrEmpty(Email) || string.IsNullOrEmpty(Password) || string.IsNullOrEmpty(ConfirmPassword)) { return(BadRequest(AppResponse.BadRequest("All fields are required"))); } var model = new RegisterDto() { Name = Name, Email = Email, Password = Password, ConfirmPassword = ConfirmPassword, }; await authService.SignUp(model, Request.Headers["origin"]); return(AppResponse.Success("Registration successful, please check your email for verification instructions")); }
public Result RL(Registered_SubmitLead req) { base.Init_Request_Data(enumAction.Lead, req, req.IP, req.UA, req.T); string exception = string.Empty; IPHolder cacheIP = null; bool TokenError = false; if (!AppManager.CampaignAlive(base.APICreateDate_ISR, base.ProjectType, ref base.APITransaction, req.P, out TokenError)) { cacheIP = Cache_IP.IP_Get(req.IP, 1, out exception, ref base.APICreateDate_ISR, ref base.ProjectType); #region LOG if(TokenError) if (TokenError) { UtilsDB.API_Log_Insert(this.Action, enumLogType.Response, enumLogType._1_PayloadError, base.SerializedRequest, "enumReturnStatus.Ends -> is TokenError: " + TokenError.ToString(), "_cacheIP: " + Newtonsoft.Json.JsonConvert.SerializeObject(cacheIP), true, base.Refferer, base.IP, base.UA, ref base.APICreateDate, ref base.APICreateDate_ISR, ref base.APITransaction, true, req.Email, base.ProjectType); return(AppResponse.Any(enumReturnStatus.PayloadError, null)); } #endregion return(AppResponse.Any(enumReturnStatus.Ends, null)); } #region MyRegion VALIDATION if (!ModelState.IsValid || !base.ValidRequestFromServerIP || TokenError) { cacheIP = Cache_IP.IP_Get(req.IP, 1, out exception, ref base.APICreateDate_ISR, ref base.ProjectType); #region MyRegion LOG UtilsDB.API_Log_Insert(this.Action, enumLogType.Response, enumLogType._1_PayloadError, base.SerializedRequest, "base.ValidRequestFromServerIP IP:" + base.ServerIP + " IsValid:" + base.ValidRequestFromServerIP.ToString() + " -> TokenError(P): " + TokenError.ToString(), Newtonsoft.Json.JsonConvert.SerializeObject(ModelState.Keys) + " -> cacheIP: " + Newtonsoft.Json.JsonConvert.SerializeObject(cacheIP), true, base.Refferer, base.IP, base.UA, ref base.APICreateDate, ref base.APICreateDate_ISR, ref base.APITransaction, true, req.Email, base.ProjectType); #endregion return(AppResponse.Any(enumReturnStatus.PayloadError, null)); } #endregion #region UNIQUE_Exist if (Cache_Unique.MAC_UNIQUE_IS_EXIST(ref base.APICreateDate, req.Email, ref base.ProjectType)) { #region MyRegion LOG UtilsDB.API_Log_Insert(this.Action, enumLogType.Response, enumLogType._1_Unique_Not_Allowed, base.SerializedRequest, "_1_MAC_OR_Unique_Address_Not_Allowed", null, true, base.Refferer, base.IP, base.UA, ref base.APICreateDate, ref base.APICreateDate_ISR, ref base.APITransaction, true, req.Email, base.ProjectType); #endregion return(AppResponse.Any(enumReturnStatus.Forbidden, null)); } #endregion bool NeedCaptcha = false; #region REGINO CACHE IP AND IF CAPTCH IS NEEDED //ADD TO IP CALL cacheIP = Cache_IP.IP_Get(req.IP, 0, out exception, ref base.APICreateDate_ISR, ref base.ProjectType); if (cacheIP != null && cacheIP.need_Captcha() && string.IsNullOrEmpty(req.CAP)) { NeedCaptcha = true; UtilsDB.API_Log_Insert(base.Action, enumLogType.Request, enumLogType._1_Need_Captcha, base.SerializedRequest, "NEED CAPTCHA -> Captch: " + Newtonsoft.Json.JsonConvert.SerializeObject(cacheIP), null, false, base.Refferer, base.IP, base.UA, ref base.APICreateDate, ref base.APICreateDate_ISR, ref base.APITransaction, true, req.Email, base.ProjectType); return(AppResponse.Any(enumReturnStatus.Captcha, null)); } #endregion #region REGION GOOGLE VERIFICATION string googleRequest = string.Empty, googleResponse = string.Empty; bool GoogleApproved = false; if (cacheIP != null && cacheIP.need_Captcha() && !string.IsNullOrEmpty(req.CAP)) { googleResponse = UtilsWeb.MakeRequest_Google_Captch(req.CAP, req.IP, ref base.APITransaction, ref base.APICreateDate, ref base.APICreateDate_ISR, out googleRequest, ref base.ProjectType); GoogleApproved = googleResponse.ToLower().Contains("true"); if (!GoogleApproved) { NeedCaptcha = true; UtilsDB.API_Log_Insert(base.Action, enumLogType.Request, enumLogType._1_Need_ReCaptcha, "FAIL ON GOOGLE CAPTCHA: " + base.SerializedRequest, googleRequest, googleResponse, false, base.Refferer, base.IP, base.UA, ref base.APICreateDate, ref base.APICreateDate_ISR, ref base.APITransaction, true, req.Email, base.ProjectType); return(AppResponse.Any(enumReturnStatus.ReCaptcha, null)); } } #endregion API_Project_GetResult project = AppManager.GetProject(base.ProjectType); API_Validate_Registered_UserResult user = UtilsDB.API_Validate_Registered_User(base.APITransaction, base.APICreateDate_ISR, req.Email, base.ProjectType); if (user == null) { Dictionary <string, dynamic> result = new Dictionary <string, dynamic>() { { "P", project.Token } }; UtilsDB.API_Log_Insert(this.Action, enumLogType.Response, enumLogType._1_NeedRegistration, base.SerializedRequest, "Register REQUIRED UForbidden RESPONSE", null, true, base.Refferer, base.IP, base.UA, ref base.APICreateDate, ref base.APICreateDate_ISR, ref base.APITransaction, true, req.Email, base.ProjectType); return(AppResponse.Any(enumReturnStatus.UForbidden, result)); } SubmitLead demi = new SubmitLead() { Email = req.Email, IP = req.IP, CAP = req.CAP, P = req.P, T = req.T, UA = req.UA, FName = "NA", LName = "NA", City = req.City, // "NA", Street = req.Street, // "NA", Phone = "NA", FlatNumber = "NA", STNumber = req.STNumber, // "NA" AcceptContent = true, //req.AcceptContent, POBox = req.POBox, Regulation = true // req.Regulation }; API_Lead_InsertResult lead = UtilsDB.API_Lead_Insert(ref demi, -1, ref base.APITransaction, req.CAP, 1, ref base.APICreateDate, ref base.APICreateDate_ISR, ref base.Platform, ref base.ProjectType); if (lead == null) { #region LOG UtilsDB.API_Log_Insert(this.Action, enumLogType.Response, enumLogType._1_InternalError, base.SerializedRequest, "API_Lead_Insert ERROR", null, true, base.Refferer, base.IP, base.UA, ref base.APICreateDate, ref base.APICreateDate_ISR, ref base.APITransaction, true, req.Email, base.ProjectType); #endregion return(AppResponse.Any(enumReturnStatus.InternalError, null)); } switch (lead.DBResult.GetValueOrDefault(-1000)) { case -1000: //LOGIC ERROR OR INTERNAL DVB ERROR #region LOG UtilsDB.API_Log_Insert(this.Action, enumLogType.Response, enumLogType._1_InternalError, base.SerializedRequest, "API_Lead_Insert ERROR", "lead.DBResult is null", true, base.Refferer, base.IP, base.UA, ref base.APICreateDate, ref base.APICreateDate_ISR, ref base.APITransaction, true, req.Email, base.ProjectType); #endregion return(AppResponse.Any(enumReturnStatus.InternalError, null)); break; case 200: //OK string ex = null; Cache_IP.AddUpdate_IP(req.IP, new IPHolder(null, req.IP, lead.Count_IP.GetValueOrDefault(), lead.MaxAllowed_IP.GetValueOrDefault(), lead.ExpiredIPAt.GetValueOrDefault()), out ex, ref base.ProjectType); //DataProResult result = UtilsDataPro.SendCouponEmail(req.Email, ref project); //API_Lead_Update_CouponMSGResult coupon = //UtilsDB.API_Lead_Update_CouponMSG(ref base.APITransaction, ref base.APICreateDate, ref base.APICreateDate_ISR, lead.LeadID.GetValueOrDefault(), // Newtonsoft.Json.JsonConvert.SerializeObject(result), result.isSuccess()); #region LOG UtilsDB.API_Log_Insert(this.Action, enumLogType.Response, enumLogType.Response, base.SerializedRequest, null /*Newtonsoft.Json.JsonConvert.SerializeObject(result)*/, "lead: " + Newtonsoft.Json.JsonConvert.SerializeObject(lead) /*+ " -> coupon update: " + Newtonsoft.Json.JsonConvert.SerializeObject(coupon)*/, true, base.Refferer, base.IP, base.UA, ref base.APICreateDate, ref base.APICreateDate_ISR, ref base.APITransaction, true, req.Email, base.ProjectType); #endregion return(AppResponse.OK(null)); break; } #region LOG UtilsDB.API_Log_Insert(this.Action, enumLogType.Response, enumLogType._1_BadRequest, base.SerializedRequest, "BadRequest -> lead: " + Newtonsoft.Json.JsonConvert.SerializeObject(lead), "SHOULD NOT BE HERE", true, base.Refferer, base.IP, base.UA, ref base.APICreateDate, ref base.APICreateDate_ISR, ref base.APITransaction, true, req.Email, base.ProjectType); #endregion return(AppResponse.BadRequest(null)); }