Поскольку я потратил много времени, чтобы выяснить, что именно происходит в выходе из FB, мне было удобнее поделиться им здесь для других.
Во-первых, пожалуйста, прочитайте документацию здесь
Человек входит в Facebook, а затем входит в ваше приложение.После выхода из приложения этот человек все еще входит в Facebook.
этот момент убил 90% моего времени.Когда я вошел в систему с facebook.com и попытался проверить кнопку входа в моем приложении, это работало как ожидалось, но выход из системы не прерывал сеанс.
Решение или исправление: в соответствии со сценариями, приведенными в документе, он не прекратит сеанс пользователя, так как логин не инициирован из приложения, это с facebook.com.поэтому в этом случае fb не завершит сеанс.
Когда вы входите в fb, из вашего приложения (новый логин в качестве имени пользователя и пароля) система рассматривает источник / триггер сеанса как ваше приложение.поэтому, когда вы выходите из системы (window.FB.logout или FB.logout), он полностью завершает сеанс пользователя.
Поэтому, пожалуйста, выйдите из facebook.com перед проверкой функциональности входа в приложение.
Как уже упоминалось, используйте следующий код для выхода из системы
FB.logout(function(response) {
// response from logout will have authResponse with access_token so better to test the status as it will return "unknown"
if(response.status !== "connected") { } \\ do some check on the status of the login before considering successful logout.
});
Последнее, но не менее важное: для тестирования с локального хоста, пожалуйста, обновите настройки в FB APP
- Обновление Домены приложений до localhost
- URL сайта под Веб-сайты до http://localhost:3000/
Это решит проблемы, возникающие при тестировании с localhost