API выхода из Facebook - почему дальше? - PullRequest
4 голосов
/ 01 января 2012

Я пишу приложение для Windows Phone 7 и получил вход в Facebook, работающий с использованием C # SDK, но выход из системы оказался интересным.Я прочитал этот пост:

Невозможно выйти из Facebook с Facebook C # SDK

, который, кажется, отражает документы FB, которые указывают, что я должен перейти к

https://www.facebook.com/logout.php?next=[redirect_uri]&access_token=[token]

Однако это не работает и молча перенаправляет меня на домашнюю страницу Facebook.

На данный момент я думаю, что Facebook не нравится «следующий» URI, который я предоставляю.Я обновил настройки своего приложения FB, но либо они еще не распространены, либо что-то еще не работает.

Я видел сообщения, рекомендующие использовать InternetSetOption, но этот API недоступен на телефоне.

В моем потоке приложений выход из системы приводит к переходу на другую страницу Silverlight в моем приложении, так что мне все равно не нужно перенаправлять браузер для моих целей, так что я могу просто «забыть» токен доступа, фактически не сказавФБ, чтобы сделать его недействительным, но это кажется слабым и небезопасным.

Итак, пока я жду дольше, чтобы посмотреть, распространятся ли изменения домена приложения на серверы FB и решит проблему, у меня другой вопрос:

Почему API Facebook должны заботиться о том, предоставляю ли я следующее?" или нет?Разве я не могу просто сказать им, чтобы они сделали недействительным токен и произвел ли он это?

Есть ли какая-то логическая часть, которую мне здесь не хватает?

Спасибо!

1 Ответ

0 голосов
/ 01 января 2012

Обновление: Я написал открытый исходный код Контроль входа / выхода из Facebook для WP7 , который позволяет это (см. Пример проекта). Он работает, по сути, используя элемент управления веб-браузера, чтобы перейти на страницу выхода из системы, а затем отправить форму выхода из системы, внедрив javascript в элемент управления веб-браузера. Идея пришла из этого сообщения в блоге .

Самое близкое было бы отозвать расширенные разрешения, выдав HTTP DELETE для / me / permissions, как описано здесь . Просто забыть аутентификационный токен не является плохим вариантом, так как токены доступа обычно хороши только в течение часа или двух, если вы не запросили offline_access. А если пользователь чрезмерно обеспокоен, он может удалить ваше приложение на странице настроек на facebook.com.

...