簡體   English   中英

配置我的php.ini以運行Facebook php sdk

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM