authorizer.IsAuthorized возвращает true при выходе из Facebook на c # facebook sdk 4.2.1 - PullRequest
2 голосов
/ 26 января 2011

Я сейчас тестирую на c # facebook и сталкиваюсь со следующей ошибкой:

Вот код:

        FacebookApp app = new FacebookApp();

        Authorizer authorizer = new Authorizer(app);
        System.Diagnostics.Debug.WriteLine(app.Session);
        if (authorizer.IsAuthorized())
        {
            Response.Write("userid:" + app.UserId + "<br/>");
            var me = (IDictionary<string, object>) app.Get("me");

            foreach (string key in me.Keys)
            {

                Response.Write(key +":" + me[key]+"<br/>");
            }

        }

    }

Код отлично работает при входе в Facebook.Однако, когда я пытаюсь выйти через сеть Facebook и снова получить доступ к странице, строка app.get ("me") выдаст ошибку принятия (OAuthException) при проверке токена доступа, и app.session все еще действителен.*

Что-то, что я сделал не так и сделал авторизатор. Разрешенный вызов вернет истину, даже выход из Facebook?

Спасибо

Ответы [ 2 ]

0 голосов
/ 16 февраля 2011

Я полагаю, что ваш код выше работает, когда вы вошли в Facebook из-за аутентифицированных куки, которые Facebook хранит на вашем компьютере, и если у вас есть аутентифицированные куки, Facebook не будет жаловаться, когда вы пытаетесь вызвать один из их графиковAPI (т.е. / я).но, когда вы выходите из Facebook, ваш cookie больше не действителен.Я думаю, что вам нужно получить токен доступа для пользователя, чтобы совершать вызовы API api, даже когда пользователь выходит из Facebook, потому что, если Facebook не найдет аутентифицированный cookie или действительный токен доступа, то facebook сообщит вам об ошибке.Проверьте больше информации здесь:

http://developers.facebook.com/docs/authentication/

0 голосов
/ 27 января 2011

Срок действия файлов cookie истекает.Не уверен в официальном ответе, но срок действия куки-файлов Facebook истекает (если вы не запрашивали доступ в автономном режиме).Вам придется учитывать это.

...