Xero webhook验证无效

时间:2018-05-17 11:27:38

标签: php xero-api

我正在尝试验证xero webhook的Invoice创建和更新。 这是我的代码:

$body=file_get_contents('php://input');
$yourHash = base64_encode(hash_hmac('sha256',$body,'gDgLpn+xqX7ojhCEq5xx1viAyy6nEa4CMuiQxcXf9ctAoLkscnh/b1Y3002JjIEHOvOEt3MBvx1VLHh6lzaiAA==',true));
if ($yourHash == $_SERVER['HTTP_X_XERO_SIGNATURE'])
{
header("status: 200 Ok");
}else
{
header("status: 401 Unauthorized");
}

此处的错误是“响应包含cookie”。我如何删除这个cookie作为回应?

2 个答案:

答案 0 :(得分:1)

您的代码示例中没有添加cookie的内容。检查您的http服务器是否没有响应cookie。

答案 1 :(得分:0)

我求助于添加

proxy_hide_header "Set-Cookie";

到我的nginx配置文件中的强过滤位置部分。

您可能需要

fastcgi_hide_header "Set-Cookie";

我希望这不会导致任何问题。接下来,您需要从响应中删除正文。我的Response对象是

Response(status=200)
Response(status=401)

如果您正在使用Apache,我相信您可以通过编辑.htaccess文件来隐藏标题。