AutorÃa | Ultima modificación | Ver Log |
<?phpnamespace LeadersLinked\Library;class Facebook{/**** @var array*/private $config;/**** @param array $config*/public function __construct($config){$this->config = $config;}/**** @param string $input* @return string*/public static function base64_url_decode($input) {return base64_decode(strtr($input, '-_', '+/'));}/**** @param string $signed_request* @return NULL|array*/public function parse_signed_request($signed_request){list($encoded_sig, $payload) = explode('.', $signed_request, 2);$secret = $this->config['leaderslinked.facebook.app_password'];// decode the data$sig = self::base64_url_decode($encoded_sig);$data = json_decode(self::base64_url_decode($payload), true);// confirm the signature$raw = true;$expected_sig = hash_hmac('sha256', $payload, $secret, $raw);if ($sig !== $expected_sig) {error_log('Facebook Bad Signed JSON signature!');return null;}return $data;}}