我知道在 Facebook API 的最后一次更新中,有可能提供一个appsecret_proof
使用 app_secret 签名的访问令牌。
现在的问题是,不管我在我的 facebook 应用程序上设置的选项(启用\禁用:)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()
并且文档似乎都是正确的。有什么线索吗?