向步骤中添加验证

学习如何将验证逻辑应用到应用程序的安装流程中。

在Integration Builder中,可以为某个步骤提供验证URL, Envoy将在该步骤完成后,但在保存配置值之前点击该步骤。这个验证URL允许您控制保存的内容。例如,您可能只希望保存值的一个子集,或者您可能希望在保存之前对值进行一些处理或验证。

请注意,对于OAuth2弹出步骤类型,验证URL为要求来保存这一步的结果。对于Form步骤类型,它是可选,在没有验证URL的情况下,表单的结果将被自动保存。

访问步骤的结果

步骤的结果将出现在验证URL的请求有效负载中。在node . js SDK,你可以在下面访问req.envoy.payload

  • 对于表单步骤类型,有效负载将是一个对象,其键与您在Integration Builder中为每个表单元素设置的键相匹配。每个键的值将是用户输入。
  • 对于OAuth2步骤类型,有效负载将是OAuth2流的确切结果。这是一个典型的access_token通常,一个refresh_token
  • 对于Popup步骤类型,有效负载将是传递给Callback URL的任何查询参数。

储蓄值

要为某个步骤保存特定的值,只需用一个JSON对象响应验证URL请求,该对象包含您希望保存的值。该对象将与现有的配置对象合并,忽略初始有效负载的值。

停止一个步骤

您还可以验证这些值是否符合您的期望。如果它们无效,您可以返回一个4xx HTTP状态,以及一个具有消息属性。如果你正在使用Node.js SDK,你可以使用res.sendFailed.这将向用户显示消息,并阻止他们进入下一步。

配置使用

一旦条目被保存在插件的配置中,config对象就可以在未来的任何路由或worker中访问。在Node.js SDK中,可以在req.envoy.meta.config

如果需要(例如在非特使请求中),您可以在任何时候通过API调用获取或设置配置中的项插件API

对此的响应也应该是一个JSON对象,包含您希望保存在安装配置中的数据。

App.post ('/validate-me', (req, res) => {const{特使:{负载:{foo,},}} = req;Res.send ({foo, //我们将保存原始的"foo"从有效负载栏:'hello world', //连同一个新的"bar"变量});});

您也可以选择不保存配置中的任何数据,而是选择存储代替。

app.post('/validate-me', async (req, res) => {const{特使:{installStorage,有效负载:{密码,},}}= req;等待installStorage。(密码,密码);res.send ({});});

您还可以通过返回一个4xx或5xx错误,并向安装程序显示一条消息,从而使验证失败。

App.post ('/validate-me', (req, res) => {res.status(400)。send({message: '这些值是坏的。'});});

为了方便起见,Node.js SDK有一个帮助函数。

app.post('/validate-me', (req, res) => {res. sendfailed('这些值是坏的。');});

这个页面对你有帮助吗?
Baidu