事件回调使用

最后更新:2022-12-22

1. 实现功能

通过webhook的方式,实现事件回调的功能;下游订阅某些事件后,发生该事件后,将通过webhook的方式通知下游;下游拿到数据后可进行相应的同步更新等操作;

2. IDP事件回调

2.1. 配置事件回调

IDP登录IT管理控制台;找到其他管理-事件回调-新建事件回调
image.png
事件名称:回调事件名称
回调地址:下游接受webhook事件回调的地址;此接口为post方式,推送过去的数为json格式;
认证方式:支持basic/oauth
basic时,账户名和密码必填
oauth时,OAuth 授权地址/client_id/client_secret 必填,且OAuth 授权地址接口为post方式,body为 x-www-form-urlencoded或form-data格式表单,上送client_id={client_id}/client_secret={client_secret}/grant_type=client_credentials/scope=read 四个参数,并且返回数据格式为:{“access_token”:“XXX”} 则认为获取token成功
订阅事件:选择需要订阅的事件
启用状态:启用时,选择的订阅事件,会通过webhook方式回调到下游
测试:
若选择 basic时,将在请求【回调地址】的请求头中,加上Authorization: Basic +base64(用户名:密码),请求响应httpCode为200时,将返回内容展示于 测试响应body 中;
若选择oauth ,会先去获取access_token值,将在请求【回调地址】的请求头中,加上Authorization: Bearer +access_token ,请求响应httpCode为200时,将返回内容展示于 测试响应body 中;
两种认证方式测试时都会向【回调地址】post提交,body为 {} 的数据;

2.2. 测试事件回调

正确配置好后点击测试如下:
image.png
回调事件列表中,点击测试:
image.png
点击 选择订阅事件,将会展示 对应事件的 请求body json数据,此数据为模拟数据,与真实数据的字段一致;
点击 测试 若请求响应httpCode为200时,将返回内容展示于 测试响应body 中,如上图;

2.3. 事件回调相关日志

IDP登录IT管理控制台;找到审计-操作日志
image.png
以上日志,会查看到具体哪个事件,执行的哪个订阅事件,以及是否成功
事件回调失败时,将会进行5次重试,分别间隔1秒,5秒,10秒,10秒,10秒