[英]Configure my php.ini for running Facebook php sdk
我在使用Facebooks php sdk時遇到問題。 打印時
$ facebook-> getSignedRequest()打印不顯示任何“頁面”或“用戶”值。
我也嘗試打印$ _REQUEST ['signed_request'],我得到的只是
注意:未定義的索引:signed_request
可能是我錯過的php.ini文件中的某些設置嗎?
謝謝您的幫助!
這只會解決一半的問題,但請記住,$ _REQUEST ['signed_request']不是$ _REQUEST('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, '-_', '+/'));
}
將簽名的請求和您的應用程序秘密傳遞給該請求,它將返回您的數組。 我確定可以使用Facebook SDK來實現此目的,但是我不確定,因為我不使用它。
更多信息: https : //developers.facebook.com/docs/authentication/signed_request/
祝好運!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.