public ActionResult Callback(string code, string state) { TokenModel token = new TokenModel(); String error = null; if (!String.IsNullOrEmpty(code)) { error = PerformTokenRequest(GenerateRequestPostData(code), out token); if (String.IsNullOrEmpty(error)) { ViewBag.Token = token; } } ViewBag.Error = error; return View("TokenView"); }
public ActionResult RefreshToken(string refreshToken) { TokenModel token = new TokenModel(); String error = null; if (!String.IsNullOrEmpty(refreshToken)) { error = PerformTokenRequest(GenerateRefreshPostData(refreshToken), out token); if (String.IsNullOrEmpty(error)) { ViewBag.Token = token; } } ViewBag.Error = error; return View("TokenView"); }
private String PerformTokenRequest(String postData, out TokenModel token) { //sample commen var error = String.Empty; var strResponseData = String.Empty; HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create( ConfigurationManager.AppSettings["TokenUrl"] ); webRequest.Method = "POST"; webRequest.ContentLength = postData.Length; webRequest.ContentType = "application/x-www-form-urlencoded"; using (StreamWriter swRequestWriter = new StreamWriter(webRequest.GetRequestStream())) { swRequestWriter.Write(postData); } try { HttpWebResponse hwrWebResponse = (HttpWebResponse)webRequest.GetResponse(); if (hwrWebResponse.StatusCode == HttpStatusCode.OK) { using (StreamReader srResponseReader = new StreamReader(hwrWebResponse.GetResponseStream())) { strResponseData = srResponseReader.ReadToEnd(); } token = JsonConvert.DeserializeObject<TokenModel>(strResponseData); return null; } } catch (WebException wex) { error = "Request Issue: " + wex.Message; } catch (Exception ex) { error = "Issue: " + ex.Message; } token = new TokenModel(); return error; }
public ActionResult Authorize(string code, string state) { var error = String.Empty; var strResponseData = String.Empty; var strPostData = String.Empty; if(!String.IsNullOrEmpty(code)) { strPostData = GeneratePostData(code); HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create( ConfigurationManager.AppSettings["TokenUrl"] ); webRequest.Method = "POST"; webRequest.ContentLength = strPostData.Length; webRequest.ContentType = "application/x-www-form-urlencoded"; using (StreamWriter swRequestWriter = new StreamWriter(webRequest.GetRequestStream())) { swRequestWriter.Write(strPostData); } try { HttpWebResponse hwrWebResponse = (HttpWebResponse)webRequest.GetResponse(); if (hwrWebResponse.StatusCode == HttpStatusCode.OK) { using (StreamReader srResponseReader = new StreamReader(hwrWebResponse.GetResponseStream())) { strResponseData = srResponseReader.ReadToEnd(); } TokenModel token = JsonConvert.DeserializeObject<TokenModel>(strResponseData); ViewBag.Token = token; return View("TokenView"); } } catch (WebException wex) { error = "<strong>Request Issue:</strong> " + wex.Message.ToString(); } catch (Exception ex) { error = "<strong>Issue:</strong> " + ex.Message.ToString(); } } else { error = "<strong>Issue:</strong> Empty authorization code"; } TokenModel emptyToken = new TokenModel(); emptyToken.Error = error; ViewBag.Token = emptyToken; return View("TokenView"); }