如何在odoo中验证webhook签名

时间:2018-02-13 04:36:30

标签: python python-2.7 odoo odoo-10

我正在寻找准确描述的解决方案HERE 但是我不知道应该将什么传递给第二个参数,即request_body 因为我无法在odoo的请求对象中找到正文。

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

我试过传递

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

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

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

str(request.jsonrequest)”会对此进行处理,但会给出无效签名。

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

1 个答案:

答案 0 :(得分:0)

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

此问题已在Odoo issue tracker上进行了报道,但是,似乎还没有100%的解决方案。