Первый блок кода предназначен для получения параметров файлов cookie Facebook для пользователей, которые уже авторизованы и вошли в систему.
Второй блок кода предназначен для того, чтобы позволить пользователю авторизовать ваше приложение (oauth) И для получения маркера access_token, который ваше приложение может использовать для выполнения вызовов API (FB Graph) от имени пользователя.
$ _ REQUEST относится к параметрам POST или GET, а не к файлам cookie. Если вы проверите документы в потоке аутентификации , вы увидите, что Facebook перенаправляет пользователя на http://your_redirect_uri? Code = 1234abcd после того, как пользователь одобрил вашу заявку. Вы должны захватить этот параметр кода и использовать его для повторного вызова graph.facebook.com для получения access_token пользователя.
Цель session_start () - подготовить массив $ _SESSION, чтобы $ _SESSION ['state'] сохранялся при перезагрузке страницы. Если ваш фреймворк уже имеет код обработки сеанса, вы можете его пропустить. Он используется только для защитного бита CSRF.
Дополнительный вход в систему довольно прост. Если вы используете новый PHP SDK, вы можете проверить возвращаемое значение $facebook->getUser();
- если оно равно 0, пользователь не вошел в систему (и вы можете показывать контент как обычно, возможно, с дополнительной ссылкой на fb_server_side_flow.php начать процедуру авторизации.)