设备指纹
使用控制台Webhooks

验证 Webhook 来源

Webhooks: 验证 Webhook 来源

校验 Bearer Token

在服务端保存一份与控制台配置一致的 Token,并对每次回调执行校验。校验失败时,不要继续处理 Payload,也不要返回会泄露内部校验原因的详细错误。

使用 HTTPS

生产目标 URL 必须使用 HTTPS,并确保:

  • 证书有效且未过期。
  • 域名证书与目标域名匹配。
  • 服务端支持 GEELAB 使用的 TLS 版本。
  • 证书链可被公网服务正常验证。

安全保存和轮换 Token

Token 应保存在服务端环境变量或密钥管理系统中。当前产品的 Token 重新生成和轮换方式,以 Webhooks 页面提供的操作为准。

如果 Token 泄露:

  1. 立即限制或暂停受影响的 Webhook。
  2. 更新服务端校验配置。
  3. 在控制台更新或重新生成 Token(如果页面提供该操作)。
  4. 发送测试请求验证新配置。
  5. 检查投递日志中的异常请求。

防止重复处理

为避免同一事件重复影响业务,建议使用 Delivery ID 或 Request ID 实现幂等处理:

  • 第一次收到时记录唯一标识并处理。
  • 再次收到相同标识时返回成功,但不要重复执行发券、扣款或封禁等操作。
  • 将处理状态写入可靠存储,而不是只保存在进程内存中。