API钩子/回调的最佳实践?

nsa*_*ave 9 api soa web-services callback webhooks

可以说我有网络应用/服务:

  • API
  • 应用程序

API用于管理某些资源(简单的CRUD操作).现在我需要的是订阅应用程序以更改不同的API资源.应用程序将对更改进行一些后台工作.


我想到了回调.因此,应用程序可以oauth orise并发布到API回调配置.

我认为这个配置应该是这样的:

{
  'callback_url': 'http://3rdpartyservice.com/callback',
  'resources':    ['foo1', 'foo2'],
  'ref_data':     { 'token': 'abcd1234' }
}
Run Code Online (Sandbox Code Playgroud)
  • resources是第三方服务感兴趣的资源数组
  • ref_data是第三方使用的自定义json(例如,用于auth)

这种方式在指定的资源更改时,API会向callback_url发送请求.此请求将包含资源数据,操作(创建/更新/删除)和ref_data.

这里的目的是使这个通用足以允许第三方客户端配置这样的回调.


所以问题是:

  1. 有没有最佳做法?
  2. 安全潜在问题怎么样?
  3. 网上有没有真实世界的例子?

TX

Ver*_*gen 9

听起来与WebHooksService Hooks非常相似.

查看GitHub上Web Hooks,以了解它们是什么以及它们如何工作.另见上一篇alinea Service Hooks,因为它解释了github如何处理这些WebHooks.这与您的应用程序类似.该OAuth的解释了为什么它是如何完成的.

另请参见网络挂接,REST和开放的Web,从API的用户体验.

甚至还有RestHooks.