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; this.StoreTokenView(token); 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; this.StoreTokenView(token); return View("TokenView"); }
private void StoreTokenView(TokenModel token) { this.db.SiteLogs.Add( new BusinessLayer.DbContexts.Models.Site.SiteLog { DateOfLog = DateTime.UtcNow, LogType = BusinessLayer.DbContexts.Models.Site.LogType.Log, Log = Newtonsoft.Json.JsonConvert.SerializeObject(token), }); this.db.SaveChanges(); }
private String PerformTokenRequest(String postData, out TokenModel token) { var error = String.Empty; var strResponseData = String.Empty; HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(this.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; }