Можно ли использовать сервис oAuth Facebook, не оставляя пользователей, вошедших в Facebook после посещения моего сайта? - PullRequest
0 голосов
/ 11 января 2012

У меня есть тестовый сайт MVC, настроенный и настроенный для входа на него пользователей с использованием систем аутентификации Facebook. Когда пользователи выходят из моей системы, как мне убедиться, что с пользователями, вошедшими в Facebook, происходит правильная вещь (т. Е. Они возвращаются в любое состояние, в котором они находились до посещения моего сайта)?

Я полагаюсь на обертки API FB, которые доступны для загрузки через NuGet.

Несколько примеров, которые я вижу, включают метод выхода из Facebook, который можно вызывать через API, чтобы сообщить FB, что пользователи вышли из моего сайта, что, как я полагаю, должно «делать правильно». вещь". Однако этот метод, похоже, был удален из библиотеки (и из API?).

Есть ли какой-то другой метод, который я должен вызывать, чтобы произошла "правильная вещь"? Или, альтернативно, какой-то обходной путь, который используют люди?

Несколько неискренне просить людей заходить на мой сайт с их логинами в FB, только чтобы они тайно оставались в FB после того, как вышли из моего сайта.

Используемый обходной путь ниже (ручная обработка URL-адреса выхода). Будьте осторожны с URL-кодировкой

1 Ответ

1 голос
/ 11 января 2012

По словам разработчика Facebook TOS (элемент № 6), вы должны выйти из Facebook, когда пользователь выходит из вашего сайта (и использует Facebook для входа в систему).

Рассмотрим следующий вариант использования:

Пользователь получает доступ к вашему сайту через общедоступный компьютер (библиотеку) и выбирает вход в систему (используя учетную запись Facebook) для доступа к ограниченным функциям, недоступным для пользователей, которые не вошли в систему. Пользователь ведет свою деятельность, а затем выходит из системы. Если вы не отключите их от Facebook, их учетная запись теперь доступна на общедоступном компьютере, поэтому, если новый пользователь использует общедоступный компьютер после того, как первоначальный пользователь уходит, новый пользователь может получить доступ к информации Facebook первоначального пользователя.

Не уверен насчет NuGet, но используя PHPs SDK PHP , вам просто нужно вызвать функцию logout Facebook, которая должна генерировать URL со следующим параметром, и access_token. Поэтому, когда пользователь щелкает ссылку выхода из системы, он перенаправляется на Facebook, выходит из системы, а затем возвращается на ваш сайт для завершения процесса выхода из системы.

Пример выхода из системы:

https://www.facebook.com/logout.php?next=http%3a%2f%2fextapi.yourhost.com%2flogout&rd=http%3a%2f%2fyourhost.com%2flogout&access_token=AAACRZBIZAGE18BAEyQ8AcmRKGGtmeYlw4MFYjuDHfTlZBSZA3pZAJ5xnKABELBmkOroaxlDsoPgFVHPvvkfZAFRQarCRL0Fhy7UrZCAZAfRFtvwBo4lY4s4X

Разъяснения:

  • следующий: это ссылка, на которую пользователь будет перенаправлен после выхода из Facebook (это будет домен, который вы зарегистрировали в Facebook)
  • rd: Это произвольный параметр URL, поэтому, когда пользователь перенаправляется обратно на мой сайт, я могу перенаправить его обратно на другую целевую страницу (кроме страницы выхода из системы).
  • access_token: генерируется ли access_token Facebook, когда вы зарегистрировали пользователя в
...