跳到主要内容

配置 Webhook

在 Logto 控制台中配置 Webhook,以实现无缝集成并接收应用程序的实时事件通知。享受简单的配置、增强的安全性和便捷的健康监控选项。

创建一个 Webhook

首先,创建一个将由 Logto Agent 调用的 Webhook 端点。此端点应在你的服务器上实现,并能够接收 HTTP 请求。

要在 Logto 控制台中创建一个新的 Webhook,请按照以下步骤操作:

  1. 创建 Webhook:导航到 Console > Webhooks 并点击“创建 Webhook”按钮。

  2. 名称:为 Webhook 提供一个名称。这是为了你自己参考以定义使用场景。

  3. 端点 URL:输入 Endpoint URL,这是你的服务器在事件发生时将接收 Webhook POST 请求的 URL。出于安全原因,该 URL 必须通过 HTTPS 公开访问,并且不应是本地主机 URL。

    备注

    你的服务器应在接收到请求后立即以 HTTP 200(“OK”)响应 Logto Webhook 请求,以通知请求已被接收。

    等待相应 Webhook 事件的逻辑处理完成后再响应可能会导致 Webhook 超时。

    不要向 Logto Webhook 返回 200 以外的任何响应。如果在处理事件时发生错误,请在你自己的服务器上处理。

  4. 事件:在出现的模态框中,选择将触发此 Webhook 的所需事件。建议选择满足你要求的较少数量的事件,以避免服务器接收过多请求。创建 Webhook 后,你可以随时更改所选事件。

    创建 Webhook

  5. 禁用 / 激活:默认情况下,Webhook 在创建后立即激活。如果你想暂时暂停 Webhook,可以使用创建后位于标题右上角的“三点”菜单禁用或重新激活它。

保护 Webhook

一旦你的服务器准备好接收 Webhook 请求,你可能希望确保它能够安全地处理这些请求。 Logto 为每个 Webhook 请求负载生成一个签名,这使你能够验证请求来自 日志 (Logto)。

创建新的 Webhook 后,你可以选择增强其安全性:

  • 签名密钥: Logto 为每个 Webhook 生成一个唯一的哈希签名,称为签名密钥。你可以在端点实现中将此密钥作为请求头包含在内。验证签名密钥可确保 Webhook 负载来自 日志 (Logto),并且未被未经授权的来源篡改。阅读 保护你的 Webhook 以了解更多关于代码的信息。
  • 自定义头:你可以选择在 Webhook 负载中包含自定义头,以提供额外的上下文或元数据。此功能允许你添加相关信息,以便有效地处理 Webhook 数据。

通过利用签名密钥并考虑包含自定义头,你可以增强 Webhook 的安全性,并确保接收到的负载的完整性和真实性。

测试 Webhook

要测试 Logto 与你的服务之间的连接,只需点击“发送测试负载”按钮。 Logto 将为每个选定事件向你的端点 URL 发送一个示例负载。这些测试请求包含匿名数据,并不会记录在最近的请求历史中。

此测试可确保你的 Webhook 已正确设置为接收和处理来自 Logto 的负载。它允许你在将 Webhook 部署到生产环境之前验证集成。

监控 Webhook 健康状态

Logto 提供了便捷的工具来监控你的 Webhook 的健康状态,并详细调查任何潜在问题:

  • 健康状态 Logto 中的 Webhook 列表显示每个 Webhook 的健康状态,包括过去 24 小时内的成功率和请求总数。此信息为你提供了 Webhook 性能的概览。
  • 独立请求日志 在每个 Webhook 的“最近请求”部分,你可以访问过去 24 小时的请求日志。每个请求都单独记录,允许你查看每个请求的详细信息,并调查任何潜在的错误或异常。
  • 自动重试 如果交付失败(当 Webhook 响应状态大于或等于 500 时),Logto 会自动重试交付最多三次。请放心,同一请求的多次重试只会生成一个日志条目,避免不必要的重复。

通过利用这些监控功能,你可以有效地跟踪 Webhook 的健康状况,检查请求日志,并确保 Webhook 集成的可靠性和性能。