Давайте разберемся с этим и попытаемся понять, как использовать sign_request.
Там сказано:
Самый безопасный способ проверки заказа - использовать параметр Sign_request из обратного вызова JavaScript, поскольку он был закодирован с использованием секрета приложения и не может быть изменен клиентом.
signature_request кодируется серверами Facebook с использованием секрета приложения
это знает только Facebook и разработчик приложений. Ни один другой клиент не будет
возможность генерировать подписанный запрос без секретного ключа. Следовательно, это
самый безопасный способ подтверждения заказа.
Как клиент может манипулировать подписанным запросом?
Если ваш сайт уязвим для XSS, злоумышленник может внедрить код JavaScript в ваше приложение.
Как сервер приложений узнает, что подписанный запрос не сгенерирован Facebook?
Когда сервер приложений получает signature_request, он должен проверить подпись singed_request. Проверка подписи будет успешной, только если она была сгенерирована Facebook, потому что только Facebook имеет ваш секретный ключ.
Метод проверки подлинности цифровых данных известен как Цифровая подпись .