2011-09-20 57 views
0

在我的網站上,我允許用戶通過在我的網站上創建帳戶或使用他們的Facebook帳戶進行身份驗證。在他們選擇使用我的網站帳戶而不是FB登錄的情況下,在我網站的一個頁面上,我允許他們使用FB帳戶中的朋友列表搜索朋友。所以,在他們選擇搜索同時擁有我的網站帳戶的朋友的時候,我必須在那時對他們進行身份驗證,因此我打電話來提供FB登錄頁面。我正在使用Facebook SDK來做到這一點。沒有問題,這點...Facebook重定向在指定子頁面時丟失QueryString參數

string[] extendedPermissions = FacebookApp.ExtendedPermissions.Split(','); 

     FacebookOAuthClient oauth = new FacebookOAuthClient { ClientId = FacebookApp.AppId }; 

     var parameters = new Dictionary<string, object> 
       { 
        { "response_type", responseType }, 
        { "display", display }, 
        { "state", state}, 
        { "redirect_uri", FacebookApp.RedirectUri + redirectUriPage} 
       }; 

     if (extendedPermissions != null && extendedPermissions.Length > 0) 
     { 
      var scope = new StringBuilder(); 
      scope.Append(string.Join(",", extendedPermissions)); 
      parameters["scope"] = scope.ToString(); 
     } 

     Uri loginUrl = oauth.GetLoginUrl(parameters); 

     return loginUrl; 

在Facebook上我的應用程序設置我指定的網站網址爲:HTTP:// WWW] suchandsuch.com/Subdir/。 Facebook表示他們只會重定向到此網址。當我打電話來驗證這個人的身份時,我傳遞了一個redirect_uri參數,如上所示,因爲不是[http:// www。] suchandsuch.com/Subdir/我想重定向到http://www.suchandsuch.com/Subdir/subpage.aspx。重定向工作,但是當我檢查Response.QueryString時,它是空的,但是當我查看瀏覽器上的地址欄時,所有參數都在查詢字符串中。我假設FB將重定向到應用程序頁面上指定的url下面的任何頁面。我是否錯過了某些東西,或者FB是否只會重定向到指定的確切url?

PS忽略圍繞網址的[],所以不會讓我在我的問題中發佈很多鏈接。 :)

回答

0

顯然,FB只會重定向到具有參數的確切URL。