跳到主要内容

配置 Webhook

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

创建 Webhook

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

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

  1. 创建 Webhook:导航到 控制台 > 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 集成的可靠性和性能。