- json_decode: documentation ( source)
- base64_decode: documentation ( source)
- strtr: documentation ( source)
- explode: documentation ( source)
<?php
function base64UrlDecode($input)
{
return base64_decode(strtr($input, '-_', '+/'));
}
$signed_request = 'rs25bODttOJd3JIA8EW7xSA-wDNJGVBqallNSqftfxA.eyJpbnN0YW5jZUlkIjoiMTJlODMwNzAtNmRhNy0yNjU1LWVhNTktODc0MWZjYmQ1MWFkIiwic2lnbkRhdGUiOiIyMDE0LTAyLTA2VDAxOjE0OjI4LjMwNC0wNjowMCIsInVpZCI6IjBhNGZiZjFhLTRkNDMtNDU1ZC1iMzk5LTFkOTA0MTgyZWZjMiIsInBlcm1pc3Npb25zIjoiT1dORVIiLCJpcEFuZFBvcnQiOiIyMTIuMjkuMTkyLjE0LzY1Mjg1IiwidmVuZG9yUHJvZHVjdElkIjoiIiwiZGVtb01vZGUiOmZhbHNlfQ';
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
$sig = $this->base64UrlDecode($encoded_sig);
$data = json_decode($this->base64UrlDecode($payload), true);
echo $data;