Пример #1
0
        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");
        }
Пример #2
0
        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");
        }
Пример #3
0
        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");
        }