关于 GitHub 的 webhook 的 secret 的校验问题?
我的理解:
参考github的Webhook文档
我理解为附加在Header中的X-Hub-Signature是由payload和secret通过sha1加密生成的.
我的校验代码
public function check(Request $request){
$signature = "sha1=".hash_hmac('sha1',json_decode($request->payload), env('WEBHOOK_SECRET_TOKEN') );
if(strcmp($signature, $request->header('X-Hub-Signature')) == 0){
return true;
}
return false;
}
结果就是一直不匹配.
期间我参考了@shelter关于gitlab的webhook的大作
但是和我阅读github-webhook的验证原理似乎不太一样.
没有什么头绪, 上来求助, 感谢!
关于 LearnKu
json_encode($request->getContent())@leo 感谢提醒!
我最后测试成功的代码是