appsecret_proof
Facebook API の最新の更新で、app_secret で署名されたアクセス トークンであるを提供する可能性があることを知っています。
問題は、Facebookアプリで設定したオプション(enable\disable : Require AppSecret Proof for Server API calls
)に関係なく、常に次のようになることです。
Invalid appsecret_proof provided in the API argument
php-facebook-sdk の最新バージョンが常にパラメーター間に挿入されることを発見しましたappsecret_proof
...
if (isset($params['access_token'])) {
$params['appsecret_proof'] = $this->getAppSecretProof($params['access_token']);
}
...
protected function getAppSecretProof($access_token) {
return hash_hmac('sha256', $access_token, $this->getAppSecret());
}
...
アプリのチェックを無効にし、パラメーターを挿入する行にコメントを付けると、すべて正常に機能しますが、そうしないとエラーが発生します。
さて、どこが間違っていますか?私は三重にチェックし$access_token
、$this->getAppSecret()
ドキュメントはすべて正しいようです。手がかりはありますか?