API 开发手册
遇到问题了吗?不用担心,答案都在这。
全站搜索

Webhook签名

签名的用途

为了确保 Webhook 请求确实来自Ragic、且内容未被窜改,设置为“发送更改记录的完整内容”的 Webhook,发出的请求会附带一个 signature。

您可以在接收到 Webhook 后,使用我们提供的公钥验证该签名是否正确。

若验证失败,表示该请求可能已被窜改,建议拒绝处理。

验证流程

1. 获取 string-to-sign

1.1. 取出 Webhook 请求中的 data 属性。 (data 属性应该为 JSONArray 格式)

1.2. 将其序列化为 单击照 key 名字排序无缩排无换行 的 JSON 字符串。可以理解为“将JSONArray中,物件的所有字段依照字母顺序重新排序,然后引出一行 JSON”。

// 转换前 (源 data 属性):
[
  {
    "1001030":"banana",
    "1001029":"apple"
  }
]



// 转换后 (string-to-sign):
[{"1001029":"apple","1001030":"banana"}]

注意:若序列化方式与我们不一致,会导致签名验证失败。

2. 验证签名

2.1. 取出 Webhook 请求中的 signature 属性。

2.2. 下载公钥(参阅 获取公钥)。

2.3. 使用支持 SHA256withRSA 的验签工具。

  1. 将 string-to-sign 转换为 UTF-8 byte array
  2. 使用公钥与算法验证签名

2.4. 验证结果若为成功,表示请求来自Ragic且内容未被窜改。

获取公钥

我们提供两种方式供您获取公钥,请选择最适合您的情境:

1. 直接获取公钥字符串,请调用:https://www.ragic.com/api/http/getWebhookSignaturePublicKey.jsp?type=string。

2. 点击 这里 下载 PEM 檔。

建议将公钥高速缓存在您的服务器上,仅在启动时重新下载。

其他注意事项

  • 若您使用私有主机版,或未启用“发送更改记录的完整内容”功能,Webhook 将不支持签名验证。
  • 请确保您的程序正确处理 JSON 序列化的一致性,否则会出现验证错误。

提供回馈给 Ragic

请告诉我们您的意见:(多选, 必填)

请针对上方勾选项目提供详细说明:

截屏能够让我们更清楚了解您的建议:

感谢您的宝贵意见!

马上登记
免费试用 Ragic!

用 Google 帐号登记

立即科技 Ragic, Inc.
02-7728-8692
info@ragic.com
台北市中正区南昌路二段81号9楼
用户条款 | 隐私权政策