У меня есть приложение IFrame для Facebook (asp.net / Facebook C # SDK http://facebooksdk.codeplex.com/). Страница по умолчанию работает нормально. Я использую следующий код для аутентификации:
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 к другому файлу aspx вподпапка, также производная от класса BasePage.
Вот где возникает проблема:
Когда загружается второй (внутренний) aspx, он также перенаправляется на страницу входа, а затем обратно.Internet Explorer / Safari) я получаю бесконечное перенаправление для входа и возврата на внутреннюю страницу.
что я не так делаю?
РЕДАКТИРОВАТЬ: У меня был неверный параметр canvasUrl
в web.config, который указывал на неверный URL, этот вопрос следует считать закрытым.