【发布时间】:2020-05-07 08:14:40
【问题描述】:
我们正在发送带有 JWT 令牌的 HTTP 标头,我们已在对话框流控制台中配置了此标头。
我们希望在上一步中验证此令牌以将请求发送到特定意图,例如welcome_intent。
我们使用“中间件”作为上一步,验证是正确的,它适用于每一次通信。我们想知道,如何
如果 JWT 错误,我们希望返回错误而不继续关联的意图,例如:welcome_intent。
我们尝试在“中间件”中使用“conv.close”结束流程,但我们看到流程仍在继续,并转到与查询关联的意图。
我们怎样才能跳出流程并在中间件函数中返回错误?
const {
dialogflow
} = require('actions-on-google');
const fulfillment = dialogflow({
clientId: "clientIdDialogflow",
debug: true
});
const jwt = require('jsonwebtoken');
fulfillment.middleware(async (conv) => {
let tokenIncorrect = await utils.verifyJWT(conv);
if (tokenIncorrect) {
conv.close("Lo siento pero no puedes continuar con la conversación.");
}
});
// Intents functions
fulfillment.intent("welcome_intent", .....);
【问题讨论】:
标签: dialogflow-es actions-on-google dialogflow-es-fulfillment