概述
我正在构建一个 API,它需要允许我的服务器基本上“推送”新信息给订阅者。我还没有找到任何关于如何实际实现这种能力的教程或示例(使用参数调用任意的每个用户定义的回调)。
例子
例如,PayPal 有一个名为“IPN”(即时付款通知)的回调。当您的帐户发生付款时,PayPal 会调用您选择的这个用户定义的 URL 并向其传递一堆数据。
细节
我正在用 PHP 编写,存储到 MySQL,并使用 Slim 进行路由,如果这很重要的话。
问题
1假设参数通过 POST 传入,回调参数应该如何格式化?
例如,这是我如何获得一个client_id
传递给类似路由的参数的方法mysite.com/api/v1/setClientId
global $app;
$json = json_decode($app->request()->getBody());
$client_id = $json->client_id;
我想说“将callback
参数添加为 url 字符串”。会这么简单client_id
吗?
2如何获取存储的回调字符串并调用它?
我确定这不是
header($callback_url);
3如何将数据传递给此回调?假设我有权对 API 用户强制执行“标准”协议。
4是否有任何诸如 XSS 预防之类的陷阱或任何需要注意的安全问题?就像一个危险的 URL 被传递或调用?
奇怪的是,这让我觉得这是非常基本的东西,考虑到我的一些 PHP 已经变得多么先进,我很惊讶我还没有学会如何做到这一点。但是,同样奇怪的是,我找不到任何关于这个主题的教程。也许我使用了错误的术语。
如何向 Web 服务(在 PHP 中)添加“回调”函数?