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);
        }
    }