Нет, референт не предсказуем. В этом нет определенных правил, и это может быть изменено. Кроме того, некоторые пользовательские агенты даже не отправляют их.
К сожалению, схема signed_request не позволяет обеспечить конфиденциальность данных (через шифрование) или целостность источника, но вы получаете целостность данных, чтобы вы могли, по крайней мере, быть уверены, что действительный файл signed_request был создан Facebook в какой-то момент. Для проверки этого вам просто нужно проверить подпись. Это не гарантирует, что вы не становитесь жертвой повторной атаки, но я не думаю, что кто-либо когда-либо решал эту проблему.
Возможно, вы можете что-то сделать с свойством «issu_at» как nonce, но я недостаточно проверял, правильно ли он работает во всех запросах.
Вы правы. 'access_token' - еще одна шоу-стоппер. Ну, тогда не нужно беспокоиться о том, как обращаться с хостом. – Gajus
(так что, конечно, не позволяйте никому получать секретное приложение) – Igy