В настоящее время я работаю над приложением Facebook, и оно разработано с использованием ASP.NET.
Это приложение отлично работает с IE (7,8 и 9) FF и Chrome.
Первая страница - default.aspx, и она будет обрабатывать аутентификацию, а затем перенаправлять на home.aspx.
Теперь единственная проблема заключается в том, что Safari не принимает междоменные файлы cookie. Я изменил файл web.config и добавил его, чтобы избежать использования файлов cookie.
После этого URL переходит к http://www.testdomain.com/(S(gvsc2i45pqvzqm3lv2xoe4zm))/default.aspx
Просто невозможно автоматически перенаправить с default.aspx на home.aspx ...
У кого-нибудь есть подсказка?
Или я могу работать с Safari с сеансом ASP.Net в приложении Facebook?
Тонны благодарности
PS. Код со страницы default.aspx
protected void Page_Load (отправитель объекта, EventArgs e) {if (! IsPostBack) {if (! string.IsNullOrEmpty (Request.Params ["signed_request"])) {string signed_request = Request.Params ["signed_request"]; if (! string.IsNullOrEmpty (signed_request)) {// разделить подписанный запрос на закодированную подпись и строку полезной нагрузки [] signedRequestParts = signed_request.Split ('.'); строка encodedSignature = signedRequestParts [0]; строка полезной нагрузки = signedRequestParts [1];
// decode signature
string signature = decodeSignature(encodedSignature);
// calculate signature from payload
string expectedSignature = hash_hmac(payload, Facebook.FacebookApplication.Current.AppSecret);
if (signature == expectedSignature)
{
// signature was not modified
Dictionary<string, string> parameters = DecodePayload(payload);
if (parameters != null)
{
string UserId = parameters["user_id"];
Session.Add("UserId", _SystemUser.SystemUserId);
Session.Add("Username", _SystemUser.Username);
Response.Redirect("Home.aspx?user_id=" + UserId);
}
}
}
}
if (!String.IsNullOrEmpty(Request["error_reason"])) // user denied your request to login
{
logger.Debug("Error Reason: " + Request["error_reason"]);
//User denied access
}
if (String.IsNullOrEmpty(Request["code"])) // request to login
{
string url1 = String.Format("https://www.facebook.com/dialog/oauth?client_id={0}&redirect_uri={1}&scope={2}", Facebook.FacebookApplication.Current.AppId, callbackUrl, ext_perms);
Response.Redirect(url1);
}
}
}