[php] define(‘FACEBOOK_APP_ID’, ‘250304721713728’);
define(‘FACEBOOK_SECRET’, ‘214e000e45dbb7e6d497295b93451aa1’);

function parse_signed_request($signed_request, $secret) {
list($encoded_sig, $payload) = explode(‘.’, $signed_request, 2);

// decode the data
$sig = base64_url_decode($encoded_sig);
$data = json_decode(base64_url_decode($payload), true);

if (strtoupper($data[‘algorithm’]) !== ‘HMAC-SHA256’) {
error_log(‘Unknown algorithm. Expected HMAC-SHA256’);
return null;
}

// check sig
$expected_sig = hash_hmac(‘sha256’, $payload, $secret, $raw = true);
if ($sig !== $expected_sig) {
error_log(‘Bad Signed JSON signature!’);
return null;
}

return $data;
}

function base64_url_decode($input) {
return base64_decode(strtr($input, ‘-_’, ‘+/’));
}

if ($_REQUEST) {
echo ‘

signed_request contents:

‘;
$response = parse_signed_request($_REQUEST[‘signed_request’],
FACEBOOK_SECRET);
echo ‘

';
  print_r($response);
  echo '

‘;
} else {
echo ‘$_REQUEST is empty’;
}
[/php]