0

我正在開發一個Silverlight 4瀏覽器應用程序,從中完成了客戶端流身份驗證過程。我已經決定更好地轉向服務器端流程,但是,儘管我提供了與我在客戶端流程中提供的相同的redirect_uri,但是我從Facebook獲取「代碼」後,我沒有自動重定向到uri I給自己定了(我得到的,如果的access_token我檢索響應作爲字符串)Facebook ASP.NET 4中的C#SDK和OAuth服務器端流程

我正在從一個.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_token重定向,以便重新加載我的Silverlight控件(它位於與此代碼段相同的.aspx頁面中),因爲我需要再次加載Silverlight內容才能完成唯一方法我知道得到.aspx頁面中的訪問令牌(從silverlight調用JavaScript函數)。有人能幫我解釋一下,在查詢access_token的時候,我怎麼能得到頁面重定向,或者我怎樣才能以不同的方式將access_token傳遞給silverlight控件?

非常感謝

回答

0

有關查詢字符串結構的Facebook行爲發生了變化。這在http://facebooksdk.codeplex.com/discussions/261528中討論。此鏈接討論了應該修復您的問題的認證過程的更改。我的代碼使用WPF而不是Silverlight;我不確定相同的問題是否適用於Silverlight控件。

另請參閱Does Facebook Client-Side Flow still give out access tokens?SL4 Facebook application no longer retrieves access_token

+0

謝謝,我會看看這些帖子 – Evenstar 2011-06-29 06:25:12