Silverlight 4.0 ASP.NET4中的FacebookC#SDK和OAuth服务器端流

Silverlight 4.0 ASP.NET4中的FacebookC#SDK和OAuth服务器端流,silverlight-4.0,facebook-c#-sdk,asp.net-4.0,server-side,oauth-2.0,Silverlight 4.0,Facebook C# Sdk,Asp.net 4.0,Server Side,Oauth 2.0,我正在开发Silverlight 4浏览器应用程序,通过该应用程序我成功地完成了客户端流身份验证过程。我决定更好地转向服务器端流,但是,尽管我从Facebook获得“代码”后提供了与客户端流相同的重定向uri,但我不会自动重定向到我设置的uri(如果我以字符串形式检索响应,我会获得访问令牌) 我从.aspx页面发出请求: var client = new WebClient(); client.Headers.Add("Content-Type",

我正在开发Silverlight 4浏览器应用程序,通过该应用程序我成功地完成了客户端流身份验证过程。我决定更好地转向服务器端流,但是,尽管我从Facebook获得“代码”后提供了与客户端流相同的重定向uri,但我不会自动重定向到我设置的uri(如果我以字符串形式检索响应,我会获得访问令牌)

我从.aspx页面发出请求:

            var client = new WebClient();
            client.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
            var encoding = new ASCIIEncoding();


            var inputs = new NameValueCollection
                                 {
                                     {"client_id", appId},
                                     {"redirect_uri", "http://localhost:57613/CallbackForm.aspx"},
                                     {"client_secret", "XXXXX"},
                                     {"code", Code}
                                 };

            var result = encoding.GetChars(client.UploadValues("https://graph.facebook.com/oauth/access_token", inputs));
            string asciiString = new string(result); 
但现在的问题是,我需要使用URL传递的access_令牌重定向我的页面,以便重新加载我的Silverlight控件(它位于我有此代码段的同一个.aspx页面中),因为我需要再次加载silverlight内容,以完成我知道的从.aspx页面获取访问令牌的唯一方法(从silverlight调用javascript函数)。有人能帮我解释一下在查询访问令牌时如何重定向页面,或者如何以不同的方式将访问令牌传递给silverlight控件吗


非常感谢

关于查询字符串的结构,Facebook的行为发生了变化。这将在中讨论。此链接讨论了对身份验证过程的更改,该更改将解决您的问题。我的代码使用WPF而不是Silverlight;我不确定是否同样的问题也适用于Silverlight控件


另请参阅和。

谢谢,我将查看这些帖子