Silverlight 4.0 ASP.NET4中的FacebookC#SDK和OAuth服务器端流
我正在开发Silverlight 4浏览器应用程序,通过该应用程序我成功地完成了客户端流身份验证过程。我决定更好地转向服务器端流,但是,尽管我从Facebook获得“代码”后提供了与客户端流相同的重定向uri,但我不会自动重定向到我设置的uri(如果我以字符串形式检索响应,我会获得访问令牌) 我从.aspx页面发出请求: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",
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控件
另请参阅和。谢谢,我将查看这些帖子