Web客户端无法在页面加载时调用ASP.NET Post请求

问题描述

我正在将OAuth集成到ASP.NET Webforms应用程序中,并且尝试使用WebClient同步发出发布请求以获取access_token。它不会给出错误,但是底部的Response.Redirect不会触发,并且似乎没有任何关于发布请求或响应的记录。我正在页面加载中调用方法,因为授权码作为查询字符串返回到此页面。我在做傻事吗?任何帮助将不胜感激!

protected void Page_Load(object sender,EventArgs e)
        {
                String authorisationcode = Request.QueryString["code"];
                if (authorisationcode != null)
                {
                    MicrosoftAuthorisation(authorisationcode);
                }
        }

protected void MicrosoftAuthorisation(String AuthCode)
        {
                String MicrosoftClientId = HttpContext.Current.Application["MicrosoftClientId"].ToString();
                String MicrosoftRedirectUri = HttpContext.Current.Application["MicrosoftRedirectUri"].ToString();

                using (var client = new WebClient())
                {
                    var values = new NameValueCollection();
                    values["client_id"] = MicrosoftClientId;
                    values["scope"] = "openid";
                    values["code"] = AuthCode;
                    values["redirect_uri"] = MicrosoftRedirectUri;
                    values["grant_type"] = "authorization_code";

                    var response = client.UploadValues("https://login.microsoftonline.com/consumers/oauth2/v2.0/token",values);

                    var responseString = Encoding.Default.GetString(response);
                    Response.Redirect("loginauthorisation.aspx");
                }
        }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)