我是否可以通过Web钩子从Dialog流中访问非公共URL?

时间:2019-05-31 07:37:25

标签: dialogflow-fulfillment

我想将Dialogflow用于我的企业用途。因此,想知道Dialog flow是否能够打非公开URL吗?

1 个答案:

答案 0 :(得分:0)

由于Dialogflow是Google托管的服务,因此Dialogflow必须能够访问Webhook URL所指定的履行请求才能将其调用。另外,webhook端点必须使用SSL / TLS公开自身,并且必须与非自签名证书关联。当从Dialogflow发出请求时,dialogflow可以提供身份验证凭据,以确保发出请求的确实是Dialogflow。

您可以使用的一种模式是将Webhooks暴露给Internet,并且仅允许来自Google IP地址范围的连接,并且还需要身份验证(仅Dialogflow知道)。这对于防止恶意访问Webhook会有很大帮助。

另一种选择是将Webhook定义为GCP托管端点,然后从那里拥有返回内部系统的路由。除了HTTP之外,这还可以使用多种技术,包括Pub / Sub。例如,当Dialogflow调用Webhook时,可以调用一个GCP应用程序,该应用程序将消息发布到PubSub。您的企业应用程序可能是订阅者,并且有工作要做的通知。它确实可以工作,并用GCP托管的Webhook收到的新消息进行响应,然后将响应返回到Dialogflow。这样,攻击者就没有可以尝试穿透的表面积。