我正在使用FacebookPHPSDK3.1.1和当前版本的facebook。我们的用户没有报告错误,但是我看到了大量的错误日志消息,如下所示:
未知算法预期HMAC-SHA256 256
我从源代码中看到,使用错误的编码算法读取签名请求时会触发错误,但我不确定为什么会这样,因为所有签名请求都应该由facebook代码生成。
有人看到这种行为了吗?你知不知道这件事有多糟糕,或者它是否真的表明了错误?我一直无法按要求复制。
发布于 2011-09-08 20:54:15
尝试记录一些signed_request参数以手动检查它们。例如,可以将Base_Facebook::parseSignedRequest中的日志行更改为:
self::errorLog('Unknown algorithm. Expected HMAC-SHA256, request='.$signed_request);一旦您记录了一些这些日志,就手动解码它们,或者在这个URL的末尾粘贴它们:
https://developers.facebook.com/tools/echo?signed_request=
检查在有效载荷中指定了什么算法,或者数据是否以某种方式出现格式错误。如果您在这里共享结果,请确保省略私有数据,如访问令牌值。
您还可能希望检查web服务器访问日志。首先,使用与错误日志中的条目相同的signed_request查询参数查找GET请求。
发布于 2011-09-06 09:38:00
也许可以使用SDK?https://github.com/facebook/php-sdk的v3.1.1
发布于 2011-09-14 07:25:43
很可能是在创建Facebook对象的同一个页面上进行get/post请求。因此,您的请求没有任何参数signed_request,Facebook类为您返回此错误:)
也许谷歌或其他搜索引擎使用他们的爬虫向你的网站提出请求?这也是可能的。
我希望这个答案能对你有所帮助。
https://stackoverflow.com/questions/7261606
复制相似问题