提问者:小点点

Shopify卸载随机触发的Webhook


背景资料

我正在构建一个Shopify嵌入式应用程序,并依赖于应用程序/卸载网络挂钩来撤销用户卸载应用程序后的访问权限。我通过从我的数据库中删除他们的访问令牌并将他们添加到卸载列表来撤销他们的访问。

问题

Shopify应用程序/卸载webhook启动多次,有时非常随机(即凌晨3点)这会造成问题,因为偶尔如果用户重新安装应用程序,我会随机触发卸载webhook并删除他们的访问权限。

问题

什么是一种负责任的方式来处理Shopify Webhook及其潜在的随机性/重复性,以便我在处理卸载时有信心?


共1个答案

匿名用户

经过大量的测试和论坛研究,我已经找到了一个很好的防御性编码策略来应对Shopify网络挂钩的随机性。

解决方案

防御代码!不要仅仅依靠Webhook来触发数据库操作。下面是我的防御性编码实践。

  1. 当您收到卸载webhook时,将以状态200快速响应它。Shopify要求您在5秒内做出响应。因此,请快速验证webhook,将其有效负载添加到队列中,然后以状态200进行响应。我添加的负载只是卸载的商店的名称。请求正文中发送的数据只是有关商店的信息。它没有包含任何关于webhook的独特之处,这些webhook是为了区别于其他可能为同一商店启动的卸载webhook