Guest User

Untitled

a guest
Aug 21st, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.71 KB | None | 0 0
  1. Example code of FBML App that uses signed_request?
  2. function parse_signed_request($signed_request, $secret) {
  3. list($encoded_sig, $payload) = explode('.', $signed_request, 2);
  4.  
  5. // decode the data
  6. $sig = base64_url_decode($encoded_sig);
  7. $data = json_decode(base64_url_decode($payload), true);
  8.  
  9. if (strtoupper($data['algorithm']) !== 'HMAC-SHA256') {
  10. error_log('Unknown algorithm. Expected HMAC-SHA256');
  11. return null;
  12. }
  13.  
  14. // check sig
  15. $expected_sig = hash_hmac('sha256', $payload, $secret, $raw = true);
  16. if ($sig !== $expected_sig) {
  17. error_log('Bad Signed JSON signature!');
  18. return null;
  19. }
  20.  
  21. return $data;
  22. }
  23.  
  24. function base64_url_decode($input) {
  25. return base64_decode(strtr($input, '-_', '+/'));
  26. }
Add Comment
Please, Sign In to add comment