Как выйти из приложения пользователя facebook, но сохранить логин из facebook

Я пробовал PHP SDK (v.3.1.1) и текущий Javascript SDK, как предлагается здесь: https://developers.facebook.com/docs/guides/web/

теперь при попытке выйти из системы я пробовал как FB.logout () (для js), так и $ facebook-> getLogoutUrl ();

, поскольку в документации для обоих четко указано, что эти методы вывести пользователя из приложения, а также из его сеанса facebook.

Но мне нужно только вывести пользователя из приложения facebook (тестовый сайт).

Я попытался вывести пользователя из своего тестового сайта, игнорируя аспект facebook. Но в этом случае, когда пользователь снова нажимает кнопку входа в систему, процесс входа в систему (аутентификация facebook и перенаправление) не происходит.

Я также пробовал: (как было предложено в предыдущих нерешенных вопросах)

  $ facebook-> destroySession (); unset ($ _ SESSION ['fb_'. sfConfig :: get ('app_fb_config_id'). '_code']); unset ($ _ SESSION [  'fb_'. sfConfig :: get ('app_fb_config_id'). '_access_token']); unset ($ _ SESSION ['fb_'. sfConfig :: get ('app_fb_config_id'). '_user_id']);   

однако при перенаправлении на страницу входа $ facebook-> getUser () по-прежнему возвращает пользователя.

примечание: в соответствии с примером документации я Я использую php sdk для входа пользователя на свой тестовый сайт и js sdk для визуализации и облегчения кнопки входа в facebook.

дополнительно:

аутентификация, которую я использую, в основном соответствует тому, что предлагает документация:

   phpdefine ('YOUR_APP_ID  ',' YOUR APP ID ');//использует PHP SDK.  Загрузите с https://github.com/facebook/php-sdkrequire 'facebook.php'; $ facebook = new Facebook (array ('appId' => YOUR_APP_ID, 'secret' => 'YOUR APP SECRET',));  $ userId = $ facebook-> getUser ();?>    php if ($ userId) {$ userInfo = $ facebook-> api ('/' + $ userId);  ?> Добро пожаловать,  = $ UserInfo ['name']?>  Php} else {?> 
  login-  button>  php}?>  window.fbAsyncInit = function () {FB.init ({appId: '', status: true, cookie: true, xfbml: true, oauth: true  ,});  FB.Event.subscribe ('auth.login', функция (ответ) {window.location.reload ();});  };  (функция (d) {var js, id = 'facebook-jssdk'; if (d.getElementById (id)) {return;} js = d.createElement ('script'); js.id = id; js.async  = true; js.src = "//connect.facebook.net/en_US/all.js"; d.getElementsByTagName ('head') [0] .appendChild (js);} (документ));     

 
Взять ваш код и немного изменить:
   php define ('YOUR_APP_ID', 'YOUR APP ID'); //использует PHP SDK.  Загрузите с https://github.com/facebook/php-sdk require 'facebook. php ';  $ facebook = new Facebook (array ('appId' => YOUR_APP_ID, 'secret' => 'ВАШЕ ПРИЛОЖЕНИЕ СЕКРЕТНО',));  session_start ();  $ userId = $ facebook-> getUser ();  if ($ userId &&! isset ($ _ SESSION ['fbdata'])) {$ _SESSION ['fbdata'] = array ("userid" => $ userId);  }?>    php if ($ userId) {$ userInfo = $ facebook-> api ('/' + $ userId);  ?> Добро пожаловать,  = $ UserInfo ['name']?>  Php} else {?> 

Я просто добавил сохранение пользовательских данных в сеанс. Теперь, если вы используете этот метод, когда пользователь получает на свою страницу, вы должны проверить, есть ли у него уже сеанс, если все в порядке, не нужно его аутентифицировать.
Если вы хотите вывести пользователя из своего приложения, но не из facebook , просто уничтожьте этот сеанс:
  session_start ();  session_destroy ();  

Это должно удалить все сохраненные данные, которые у вас есть для пользователя. В следующий раз, когда он посетит вашу страницу, вы можете начать с него заново.
Я не программист на php, и весь php, который я использовал здесь, основан на моих (очень) ограниченных знаниях и на том, что я нашел.


                

                
                

                

Twitter только что подвергся массовому взлому. Вот как защитить свою учетную запись Facebook и выйти из системы на других устройствах.


                

Reuters

  • Крупный взлом Twitter затронул десятки хорошо известных аккаунтов, в том числе генерального директора Amazon Джо Байдена и бывшего президента Барака Обаму.
  • Выход из активных сеансов на всех платформах социальных сетей - хорошая привычка для обеспечения безопасности вашей учетной записи.
  • Выйти из Facebook на настольном компьютере или мобильном устройстве очень просто, если вы знаете, где искать.
  • Вы также можете выйти из Facebook на всех устройствах, на которые вы вошли одновременно, через настройки своей учетной записи.
  • Посетите BusinessInsider.com, чтобы узнать больше.

В среду хакеры получили контроль над десятками громких аккаунтов в Twitter. мошенничества с криптовалютой. Проверенные аккаунты Джо Байдена, Илона Маска, Канье Уэста и других публиковали твиты с просьбой прислать биткойны. До сих пор неясно, кто стоял за атакой и как она произошла, а хакеры могли заработать 120 000 долларов.

В целях безопасности рекомендуется выйти из активных сеансов для учетных записей социальных сетей на нескольких устройствах. . Вот как это сделать в Twitter.

Ниже вы найдете пошаговые инструкции, как выйти из Facebook на компьютере или iPhone. Мы также включили шаги, как выйти из Facebook на каждом устройстве, в которое вы вошли, что может пригодиться, если вы недавно изменили свой пароль.

Как выйти из Facebook в браузере настольного компьютера

1. Перейдите на сайт www.facebook.com.

2. В правом верхнем углу нажмите на перевернутый треугольник.

Джейми Фридлендер/Business Insider

3. Появится раскрывающееся меню. В самом низу этого меню вы увидите «Выйти».

Джейми Фридлендер/Business Insider

4. Нажмите «Выйти», и все готово!

Как выйти из Facebook на iPhone

1. Откройте приложение Facebook на своем iPhone.

2. Нажмите на три строки в правом нижнем углу. Если у вас телефон Android, они будут в верхнем правом углу.

Джейми Фридлендер/Business Insider

3. Вы увидите экран с вашим именем вверху и различными разделами под ним.

4. Прокрутите до конца вниз, где вы увидите «Выйти».

Джейми Фридлендер/Business Insider 5. Нажмите значок «Выйти». Вам будет предложено уведомление с вопросом, действительно ли вы хотите выйти из системы. Нажмите «Выйти», и все готово!

Джейми Фридлендер/Business Insider

Как выйти из Facebook на каждом устройстве, на котором вы вошли в систему

1. Перейдите в Facebook в своем браузере и нажмите на перевернутый треугольник в правом верхнем углу.

2. Щелкните вкладку с надписью «Настройки».

Джейми Фридлендер/Business Insider

3. Вы попадете на новую страницу. В левой части экрана щелкните раздел «Безопасность и вход».

Джейми Фридлендер/Business Insider

4. В разделе «Где вы вошли в систему» ​​вы увидите все устройства, на которые вы вошли. (Возможно, вам потребуется нажать «Подробнее».)

5. Нажмите «Выйти из всех сеансов» в нижнем правом углу.

Джейми Фридлендер/Business Insider

6. Вы увидите предупреждение о выходе из системы. Нажмите «Выйти», и все готово.

Джейми Фридлендер/Business Insider

Связанное покрытие из How To Do Everything: Tech:

  • How чтобы скрыть свой список друзей на Facebook от всех или только определенных людей

  • Как удалить фотографии из Facebook на настольном компьютере или мобильном устройстве

  • Как деактивировать свою учетную запись Facebook и повторно активировать ее позже

  • Как выйти в прямом эфире на Facebook со своего телефона или компьютер


                
Информационный бюллетень
Ваша утренняя шпаргалка, чтобы вы узнали все, что вам нужно знать в сфере технологий. Зарегистрируйтесь до 10 вещей, которые вам нужно знать сегодня.
Что-то загружается.

СМОТРИ ТАКЖЕ: Твиттер взломан, и вам, вероятно, следует выйти из своей учетной записи, если вы активны на нескольких устройствах. Вот как.

ТЕПЕРЬ СМОТРЕТЬ:


                

                

                
Две пересекающиеся линии, образующие 'X'. Он указывает способ закрыть взаимодействие или отклонить уведомление.

                

    
  login-  button>  php}?>  window.fbAsyncInit = function () {FB.init ({appId: '', status: true, cookie: true,  xfbml: true, oauth: true,});  FB.Event.subscribe ('auth.login', функция (ответ) {window.location.reload ();});  };  (функция (d) {var js, id = 'facebook-jssdk'; if (d.getElementById (id)) {return;} js = d.createElement ('script'); js.id = id; js.async  = true; js.src = "//connect.facebook.net/en_US/all.js"; d.getElementsByTagName ('head') [0] .appendChild (js);} (документ));    
Оцените статью
clickpad.ru
Добавить комментарий