У меня есть приложение IFrame для Facebook, которое использует Facebook C # SDK. Я также использую jquery и загружаю некоторые компоненты страницы асинхронно. Например, я вызываю следующий javascript с главной страницы (в этот момент пользователь проходит проверку подлинности)
$.ajax({
type: "POST",
url: "Ajax/GetMyBalance.aspx",
datatype: 'text',
success: function (html) {
$('#balance_div').html(html);
}
});
Проблема в том, что в GetMyBalance.aspx:PageLoad
пользователь не аутентифицирован. Я попытался добавить
FacebookApp app = new FacebookApp();
CanvasAuthorizer auth = new CanvasAuthorizer(app);
if (!auth.IsAuthorized()) // always true when page is loaded first time
{
var url = auth.GetLoginUrl(new HttpRequestWrapper(Request));
var content = CanvasUrlBuilder.GetCanvasRedirectHtml(url);
Response.ContentType = "text/html";
Response.Write(content);
Response.End();
}
до GetMyBalance.aspx:PageLoad
; он аутентифицировал пользователя, но также перенаправил браузер на Myapp/Ajax/GetMyBalance.aspx
, что может иметь смысл, но это абсолютно не то, что я хотел. Как я могу аутентифицировать пользователя в этом случае?
Спасибо за ваши ответы.