Я полагаю, что проблема заключается в файлах cookie сторонних производителей, и я часто сталкиваюсь с ними.
Способ, который я решил в прошлом, состоит в том, чтобы проверить начальную загрузку для подписанного запроса и, если имеется, добавить необработанные данные подписанного запроса к запросу var во всех ссылках (т.е. http://www.example.com/page&signed_request=<<signed_request>>
)
Это не красиво, но ваши URL-адреса скрыты от просмотра, поскольку они находятся в iframe - я бы не советовал это делать, если ваше приложение не находится внутри iframe.
Вам также необходимо проверить любой код Javascript или серверной стороны, который может повлиять на данные в запросе, и соответствующим образом изменить ваши URL-адреса.
Я надеюсь, что есть лучший способ работы, чем этот, но это единственный способ, который я до сих пор выяснил (не прибегая к использованию запроса app_data var на URL-адресах Facebook для навигации).