private Boolean PostDataForToken() { try { var request = (HttpWebRequest)WebRequest.Create(ConfigurationManager.AppSettings["IDP_TokenURL"].ToString()); var postData = "client_id=" + Uri.EscapeDataString(ConfigurationManager.AppSettings["IDP_Code"].ToString()); postData += "&client_secret=" + Uri.EscapeDataString(ConfigurationManager.AppSettings["IDP_ClientSecret"].ToString()); postData += "&code=" + Uri.EscapeDataString(gscode); postData += "&redirect_uri=" + Uri.EscapeDataString(ConfigurationManager.AppSettings["IDP_RedirectURL"].ToString()); postData += "&grant_type=" + Uri.EscapeDataString("authorization_code"); postData += "&scope=" + Uri.EscapeDataString("openid profile email"); var data = Encoding.ASCII.GetBytes(postData); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = data.Length; using (var stream = request.GetRequestStream()) { stream.Write(data, 0, data.Length); } var response = (HttpWebResponse)request.GetResponse(); var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); //Response.Write(responseString); string responseFromServer = responseString.ToString(); JavaScriptSerializer j = new JavaScriptSerializer(); IDPLoginModel model = j.Deserialize <IDPLoginModel>(responseFromServer); if (model != null) { gs_accesstoken = model.access_token; gs_refreshtoekn = model.refresh_token; Session["accesstoken"] = model.access_token; Session["refreshtoken"] = model.refresh_token; DateTime CurrDate = new DateTime(); CurrDate = DateTime.Now; CurrDate = CurrDate.AddMinutes((Convert.ToDouble(model.expires_in) / 60)); //CurrDate = CurrDate.AddMinutes(6); Session["idp_refreshtoken_expiry"] = CurrDate; return(true); } else { return(false); } //http s://www.getpostman.com/oauth2/callback } catch (Exception ex) { Response.Write(ex); return(false); } }
//private bool PostDataForRefreshToken(string asRefreshToken) //{ // try // { // var request = (HttpWebRequest)WebRequest.Create(ConfigurationManager.AppSettings["IDP_TokenURL"].ToString()); // var postData = "client_id=" + Uri.EscapeDataString(ConfigurationManager.AppSettings["IDP_Code"].ToString()); // postData += "&client_secret=" + Uri.EscapeDataString(ConfigurationManager.AppSettings["IDP_ClientSecret"].ToString()); // postData += "&refresh_token=" + Uri.EscapeDataString(asRefreshToken); // postData += "&redirect_uri=" + Uri.EscapeDataString(ConfigurationManager.AppSettings["IDP_RedirectURL"].ToString()); // postData += "&grant_type=" + Uri.EscapeDataString("refresh_token"); // postData += "&scope=" + Uri.EscapeDataString("openid profile email"); // var data = Encoding.ASCII.GetBytes(postData); // request.Method = "POST"; // request.ContentType = "application/x-www-form-urlencoded"; // request.ContentLength = data.Length; // using (var stream = request.GetRequestStream()) // { // stream.Write(data, 0, data.Length); // } // var response = (HttpWebResponse)request.GetResponse(); // var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); // string responseFromServer = responseString.ToString(); // JavaScriptSerializer j = new JavaScriptSerializer(); // IDPLoginModel model = j.Deserialize<IDPLoginModel>(responseFromServer); // if (model != null) // { // gs_accesstoken = model.access_token; // gs_refreshtoekn = model.refresh_token; // return true; // } // else { // return false; // } // //Response.Write(responseString); // //http s://www.getpostman.com/oauth2/callback // } // catch (Exception ex) // { // Response.Write(ex); // return false; // } //} private bool PostDataForLoginUser(string asRefreshToken) { try { var request = (HttpWebRequest)WebRequest.Create(ConfigurationManager.AppSettings["IDP_UserURL"].ToString()); //var postData = "client_id=" + Uri.EscapeDataString(ConfigurationManager.AppSettings["IDP_Code"].ToString()); //postData += "&client_secret=" + Uri.EscapeDataString(ConfigurationManager.AppSettings["IDP_ClientSecret"].ToString()); //postData += "&refresh_token=" + Uri.EscapeDataString(asRefreshToken); //postData += "&redirect_uri=" + Uri.EscapeDataString(ConfigurationManager.AppSettings["IDP_RedirectURL"].ToString()); //postData += "&grant_type=" + Uri.EscapeDataString("refresh_token"); //postData += "&scope=" + Uri.EscapeDataString("openid profile email"); //var data = Encoding.ASCII.GetBytes(postData); request.Headers.Add("Authorization", "Bearer " + Session["accesstoken"]); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; //request.ContentLength = data.Length; //using (var stream = request.GetRequestStream()) //{ // stream.Write(data, 0, data.Length); //} var response = (HttpWebResponse)request.GetResponse(); var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); string responseFromServer = responseString.ToString(); JavaScriptSerializer j = new JavaScriptSerializer(); IDPLoginModel model = j.Deserialize <IDPLoginModel>(responseFromServer); if (model != null) { gs_email = model.email; return(true); } else { return(false); } //Response.Write(responseString); //http s://www.getpostman.com/oauth2/callback } catch (Exception ex) { Response.Write(ex); return(false); } }