我们如何在我们的 Webhook url 端点 (actions-on-google) 上实现基本 Auth?

How we can implement basic Auth on our Webhook url endpoint (actions-on-google)?

我们正在使用 Actions on goole SDK 开发聊天机器人。在聊天机器人的 Webhook 部分的控制台上,我们使用 HTTPS 端点作为实现方法。现在我们想要保护我们的 Webhook url 端点,我们可以使用哪些方法来保护我们的 Webhook url 端点?

从 Google 到您的 webhook 的请求有一个 google-assistant-signature header,其中包含一个 JWT。

如果您的 fulfillment 是使用 Node.js 库构建的,则只需一行即可构建验证:

const {conversation} = require('@assistant/conversation');

const app = conversation({verification: 'nodejs-cloud-test-project-1234'});
// HTTP Code 403 will be thrown by default on verification error per request.

如果它不使用该库,您需要为您的 language/runtime 寻找 JWT 兼容库,并检查编码 JWT 的 audience 字段是否与您的项目匹配。链接文档提供了更多上下文。