Я использую метод cookie для хранения маркера access_token на компьютере пользователя.
FB.init({appId: 'your app id', status: true, cookie: true, xfbml: true});
В вашем файле facebook.php вам нужно установить для cookieSupport значение true, тогда:
private $cookieSupport = true;
Или используйте функцию get_facebook_cookie, найденную здесь: Единый вход с помощью JavaScript SDK
Затем access_token сохраняется в файле cookie с именем "fbs_APPID" ( с истечением ). Если вы хотите, чтобы файл cookie длился более двух часов, вам нужно запросить расширенное разрешение «offline_access»:
Позволяет вашему приложению выполнять авторизованные запросы от имени пользователя в любое время. По умолчанию срок действия большинства маркеров доступа истекает через короткий промежуток времени, чтобы приложения выполняли запросы от имени пользователя только тогда, когда оно активно использует приложение. Это разрешение делает маркер доступа, возвращенный нашей конечной точкой OAuth, долгоживущим.