internal static async Task <Tuple <bool, string> > validatePassword(string email, string password, CookieContainer cookies) { Extensions.Data Data = new Extensions.Data(); Data.PASSWORD_VALIDATION_DATA["loginName"] = email; Data.PASSWORD_VALIDATION_DATA["password"] = password; var response = await Core.SendPostRequest(Extensions.Endpoints.PASSWORD_VALIDATION_URL, Data.PASSWORD_VALIDATION_DATA, false, null, cookies); string responseString = await response.Content.ReadAsStringAsync(); var deserializedResponse = JsonConvert.DeserializeObject <Extensions.passwordValidationResponse>(await response.Content.ReadAsStringAsync()); if (deserializedResponse.valid) { return(Tuple.Create(true, "")); } if (!string.IsNullOrEmpty(deserializedResponse.message)) { return(Tuple.Create(false, deserializedResponse.message)); } if (string.IsNullOrEmpty(deserializedResponse.fieldErrors.password[0])) { return(Tuple.Create(false, deserializedResponse.fieldErrors.password[0])); } else { return(Tuple.Create(false, "Unknown error occurred.")); } }
internal static async Task <Tuple <bool, string> > createAccount(string email, string[] dob, string password, string captchaToken, CookieContainer cookies) { Extensions.Data Data = new Extensions.Data(); Data.ACCOUNT_CREATION_DATA["account.loginName"] = email; Data.ACCOUNT_CREATION_DATA["account.mob"] = dob[0]; Data.ACCOUNT_CREATION_DATA["account.dob"] = dob[1]; Data.ACCOUNT_CREATION_DATA["account.yob"] = dob[2]; Data.ACCOUNT_CREATION_DATA["account.password"] = password; Data.ACCOUNT_CREATION_DATA["confirmPassword"] = password; Data.ACCOUNT_CREATION_DATA["g-recaptcha-response"] = captchaToken; Data.ACCOUNT_CREATION_DATA["struts.token"] = await retrieveStrutsToken(Extensions.Endpoints.ACCOUNT_CREATION_URL, cookies); var response = await Core.SendPostRequest(Extensions.Endpoints.ACCOUNT_CREATION_URL, Data.ACCOUNT_CREATION_DATA, false, null, cookies); var responseString = await response.Content.ReadAsStringAsync(); if (response.RequestMessage.RequestUri.AbsoluteUri == "https://account.sonyentertainmentnetwork.com/security/unverified-user!input.action?service-entity=np&m=account.created") { return(Tuple.Create(true, "")); } else if (responseString.Contains("errorFields[\"account.loginName\"] = true;")) { return(Tuple.Create(false, "The email your provided was eithe invalid or in use.")); } else if (responseString.Contains("Please verify that you are not a robot.")) { return(Tuple.Create(false, "The captcha token was invalid.")); } else if (response.StatusCode.ToString() == "429") { return(Tuple.Create(false, "429")); } else { return(Tuple.Create(false, "Unknown")); } }