我有一個IFrame Facebook應用程序(asp.net/Facebook C#SDK http://facebooksdk.codeplex.com/)。 默認頁面正常工作。我用的是foolowing代碼來驗證:Facebook C#SDK - 重定向到其他頁面時的問題
IFacebookSettings FbSettings = FacebookSettings.Current;
FacebookApp Fb = new FacebookApp(FbSettings);
CanvasAuthorizer FbAuthorizer = new CanvasAuthorizer(Fb);
if (!FbAuthorizer.IsAuthorized())
{
Response.Redirect("~/Login.aspx?returnUrl=" + HttpUtility.UrlEncode(Request.Url.PathAndQuery));
Response.End();
}
else
{
CurrentUser = new FacebookUser((JsonObject)Fb.Api("/me"));
CurrentUser.AccessToken = Fb.AccessToken;
}
這個代碼是在BasePage類的OnInit是從System.Web.UI.Page派生。其他頁面源自BasePage
在第一次加載(default.aspx)時,身份驗證成功(用戶重定向到登錄頁面,然後自動重新導向回來,就像在SDK中提供的示例中一樣)。
因此,當主頁(default.aspx)最終加載時,我按頁面上的超鏈接。超鏈接將IFrame導航到也從BasePage類派生的子文件夾中的另一個aspx文件。
這裏是問題發生的地方:
當第二個(內部)aspx被加載時,它也被重定向到logn頁面,然後返回。在某些情況下(Internet Explorer/Safari),我將無限重定向登錄並返回到內頁。
我doint錯了什麼?
編輯:我在web.config中有一個無效的canvasUrl
設置指向一個無效的URL,這個問題應該被視爲關閉。