一、使用webhook

部署 webhook 是为 webhook 准备一个URL,用于 webhook 发送请求。这些通常由后台或者API完成。这就意味你的应用要设置一个通过公网可以访问的URL。

多数 webhook 以两种数据格式发布数据:JSON或者XML,这需要解释。另外的数据格式是application/x-www-form-urlencoded 和 multipart/form-data。这两种方式都很容易解析,并且多数的Web应用架构都可以做这部分工作。

现在可以使用webhook的平台有:
1、GitHub
2、Coding
3、Gitlab
4、Gitee码云
5、Microsoft Azure

二、Webhook调试

调试webhook有时很复杂,因为webhook原则来说是异步的。你首先要与它对接,然后等待,接着检查是否有响应。这是枯燥并且相当低效。幸运的是还有其他方法:

1、明白 webhook 能提供什么,使用如 RequestBin 之类的工具收集 webhook 的请求;

2、用 Paw 或者 Postman 来模拟请求;

3、用 ngrok 这样的工具测试你的代码;
屏幕快照 2018-10-31 18.35.50.png

4、用 Runscope 工具来查看整个流程。

三、webhook安全

因为webhook发送数据到应用上的URL是公开的,这就给其他人找到这个URL并且发送错误数据的机会。你可采用技术手段,防止这样的事情发生。最简单的方法是采用https(TLS connection)。除了使用https外,还可以采用以下的方法进一步提高安全性:

1、首先增加Token,这个大多数webhook都支持;

2、增加认证;

3、数据签名。

四、重要的问题

当作为webhook的使用者时有两件事需要铭记于心:

1、webhook通过请求发送数据到你的应用后,就不再关注这些数据。也就是说如果你的应用存在问题,数据会丢失。许多webhook会处理回应,如果程序出现错误会重传数据。如果你的应用处理这个请求并且依然返回一个错误,你的应用就会收到重复数据。

2、webhook会发出大量的请求,这样会造成你的应用阻塞。确保你的应用能处理这些请求。

Last modification:October 31st, 2018 at 06:39 pm
If you think my article is useful to you, please feel free to appreciate