0
내 앱을 Facebook과 통합하는 데 문제가 있습니다. $ _REQUEST [ 'code']를 읽으려고합니다. 그것은 URL에 있지만 현재 빈 상태로 돌아갑니다. 내 코드가 Facebook iFrame에 있기 때문에 아마. iFrame 내에서 상위 URL 쿼리 문자열을 읽을 수있는 방법이 있습니까?상위 URL 쿼리 문자열을 읽을 수 없습니다.
내 앱을 Facebook과 통합하는 데 문제가 있습니다. $ _REQUEST [ 'code']를 읽으려고합니다. 그것은 URL에 있지만 현재 빈 상태로 돌아갑니다. 내 코드가 Facebook iFrame에 있기 때문에 아마. iFrame 내에서 상위 URL 쿼리 문자열을 읽을 수있는 방법이 있습니까?상위 URL 쿼리 문자열을 읽을 수 없습니다.
작동중인 앱을 만들려면 해당 정보에 액세스 할 필요가 없습니다.
캔버스 앱에서 signed_request
매개 변수 인 Facebook HTTP 게시물을 디코딩하면됩니다. PHP에서는 디코딩이 매우 쉽습니다.
자세한 내용은 http://developers.facebook.com/docs/authentication/signed_request/을 참조하십시오.
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, '-_', '+/'));
}
PHP SDK를 사용하는 경우 SDK가 이러한 어려운 작업을 수행합니다. 참고 : https://github.com/facebook/php-sdk/