All pastes #2048623 Raw Edit

Miscellany

public php v1 · immutable
#2048623 ·published 2011-04-20 12:41 UTC
rendered paste body
function parse_signed_request($appsecret) {  list($encoded_sig, $payload) = explode('.', $_REQUEST['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, $appsecret, true);  if ($sig !== $expected_sig) {//    error_log('Bad Signed JSON signature!');    return null;  }  return $data;}