【发布时间】:2015-01-30 02:42:45
【问题描述】:
我使用 GitHub 作为我的代码存储库。我为一个存储库创建了一个 webhook,所以当任何代码更改被推送到这个存储库时,GitHub 会通知我的应用程序编译代码。在我的应用程序中编译代码之前,我需要验证 GitHub 请求中的 X-Hub-Signature,这是我在 python 中所做的。我发现我用密钥和有效负载计算的签名总是与 GitHub 提供的不匹配。对此有任何想法吗?谢谢!
import hmac
import hashlib
import pickle
def compile_code(request):
payload = pickle.dumps(request.DATA)
signature = hmac.new(APP_KEY, payload, hashlib.sha1).hexdigest()
if signature == request.META.get('X-Hub-Signature'):
do_compile_code()
else:
...
【问题讨论】: