Я заглянул внутрь facebook.php, когда вы используете OAuth 2.0 , который использует signature_request , это первый источник, где он получает сеанс.
signature_request передается вам с помощью POST для canvas , если он включен в дополнительных настройках.
Когда вы переходите на другие страницы, используя метод GET, такой как index.php? Param = x , вы теряете подписанный запрос.
Раньше у нас была эта проблема, и мы решили использовать AJAX внутри нашего iframe, чтобы сохранить подписанный запрос в index.php, а страницы, загруженные ajax, будут генерировать сеанс на основе файлов cookie, поскольку они не имеют подписанного подписи.
При желании вы также можете отключить OAuth 2.0 в дополнительных настройках.