可以说我有网络应用/服务:
> API
>应用程序集
API用于管理某些资源(简单的CRUD操作).现在我需要的是订阅应用程序以更改不同的API资源.应用程序将对更改进行一些后台工作.
我想出了回调的想法.因此,应用程序可以对API进行授权并向API发布回调配置.
我认为这个配置应该是这样的:
{ 'callback_url': 'http://3rdpartyservice.com/callback','resources': ['foo1','foo2'],'ref_data': { 'token': 'abcd1234' } }
> resources是第三方服务感兴趣的资源数组
> ref_data是第三方使用的自定义json(例如,用于auth)
这种方式在指定的资源更改时,API会向callback_url发送请求.此请求将包含资源数据,操作(创建/更新/删除)和ref_data.
这里的目的是使这个通用足以允许第三方客户端配置这样的回调.
所以问题是:
>有最佳做法吗?
>安全潜在问题怎么样?
>网上有没有真实世界的例子?
TX
解决方法
听起来与
WebHooks或Service Hooks非常相似.
查看Web Hooks on GitHub,了解它们是什么以及它们如何工作.另见上一篇文章Service Hooks,因为它解释了github如何处理这些WebHooks.这与您的应用程序类似. OAuth解释了为什么以及如何完成.
另见Webhooks,REST and the Open Web,API User Experience.
甚至有RestHooks.