Auth Session всегда нулевой - PullRequest
0 голосов
/ 03 марта 2011

Я безуспешно использовал разные методы для настройки простого приложения Iframe, которое ранее работало со старым 4.x Facebook C # SDK.Я использую обычное веб-приложение NET 4.0, я не использую MVC.В конфигурации моего приложения FB я включил все новые методы (например, oAuth2), но отключил опции, помеченные как устаревшие.

Сеанс Authorizer всегда также равен null с зарегистрированным поклонником моей страницы.

Authorizer auth = new Authorizer(FacebookContext.Current.AppId, FacebookContext.Current.AppSecret, new HttpContextWrapper(Context));
auth.Perms = "user_about_me,user_birthday,user_location";

if (auth.Session != null && auth.Session.AccessToken != null)
    fbApp = new FacebookClient(auth.Session.AccessToken);           

if(auth.IsAuthorized())
        //show the app

Возможно, я упустил что-то глупое, но я не могу заставить его работать.Я думаю, что-то связано с cookie, разница в моем SDK 4.x web.config заключается в том, что cookieSupport = "false" не поддерживается в facebookSettings ... Заранее спасибо людям, которые могут мне помочь :) Joe

1 Ответ

0 голосов
/ 03 марта 2011

В версии 5 cookie используется, если он присутствует в запросе, в противном случае он будет искать другие параметры запроса, такие как signature_request.Вам не следует использовать файл cookie с приложением Canvas, так как вы столкнетесь с междоменными проблемами в определенных браузерах.

Убедитесь, что у вас включен POST для Canvas.

Вместо использования Authorizer попробуйтеКласс CanvasAuthorizer (5.0.3) или класс FacebookCanvasAuthorizer (последний источник).

Создайте его следующим образом:

var auth = new CanvasAuthorizer { Perms = "user_about_me,user_birthday,user_location" };

Вам не нужно передавать appId или appSecret в конструктор, так как он будет взят из вашего раздела Web.config.

...