public async Task <bool> Login(string Email, string Password) { bool Result = false; bool fSpecialLogin = (Email != this.Email); if (Authorization == null || fSpecialLogin) { string Json = string.Format( "{{" + "\"email\":\"{0}\"," + "\"password\":\"{1}\"" + "}}", Email, Password); StringContent Content = new StringContent(Json); Content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); HttpResponseMessage Response = await new HttpClient().PostAsync(sBaseUrl + "account/login", Content); await DebugHttpCall(Json, Response); if (Response.StatusCode == HttpStatusCode.OK) { string Resp = await Response.Content.ReadAsStringAsync(); IEnumerable <string> Authorizations; if (Response.Headers.TryGetValues("Authorization", out Authorizations)) { IEnumerator <string> Auth = Authorizations.GetEnumerator(); Auth.MoveNext(); Authorization = Auth.Current; } JObject jData = JObject.Parse(Resp); sOrgId = (string)jData["org"]["id"]; sUserId = (string)jData["user"]["id"]; sBaseUrl = string.Format(@"https://api.sling.is/v1/{0}/", sOrgId); if (!fSpecialLogin) { HttpContext.Current.Session["SlingAuth"] = Authorization; HttpContext.Current.Session["SlingOrg"] = sOrgId; HttpContext.Current.Session["SlingUser"] = sUserId; } } } if (Authorization != null && Authorization.Length > 0) { Result = true; } return(Result); }