如何在odoo中验证webhook签名

问题描述 投票:1回答:1

我正在寻找完全描述HERE的解决方案但是我不确定我应该传递给第二个参数即request_body,因为我无法在odoo的请求对象中找到body。

digester = hmac.new(secret, request_body, hashlib.sha256)

我试图通过

抛出错误的“请求”“必须可以转换为缓冲区,而不是LocalProxy”。

“request.httprequest”抛出错误“必须可以转换为缓冲区,而不是请求”。

“request.jsonrequest”抛出错误“必须可以转换为缓冲区,而不是dict”。

“str(request.jsonrequest)”处理此但是给出无效签名。

除上述之外的任何输入都将非常有用。如果你不确定,但你可能有解决方案。试一试,我会测试并告诉你。我正在使用odoo v10

python python-2.7 odoo odoo-10
1个回答
0
投票

这似乎是type='json'控制器端点的问题,因为当请求的Content-Typeapplication/json时,请求流被Odoo解析和使用,并且在控制器方法中不再可用。

这个问题已经在Odoo issue tracker上报道,但似乎还没有100%的解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.