跳到主要内容

入站鉴权

入站鉴权用于校验外部系统向 Soln 发送 Webhook 或其他 OpenLink 请求时的身份。从 集成 菜单打开 OpenLink,选择一个 OpenLink 后,在详情面板的 入站鉴权 页签中配置。

入站鉴权归属于单个 OpenLink,会在该 OpenLink 的入站 Webhook 流程、查询数据流程和消息推送流程中生效。

  1. 打开 OpenLink
  2. 选择目标 OpenLink
  3. 打开 入站鉴权 页签
  4. 如果还没有配置,点击 去配置;如果已有配置,点击 编辑
  5. 选择鉴权模式
  6. 填写或生成所需凭证
  7. 点击 保存入站鉴权

当鉴权模式发生变化,或当前还没有密钥时,必须提供新的密钥值。编辑已有配置且不需要更换密钥时,可以留空密钥字段。

鉴权模式​

鉴权模式必填字段说明
无无不校验 OpenLink 级凭证,并删除已保存的入站鉴权配置;只建议在可信测试环境或已有网关鉴权的情况下使用
共享令牌请求头名称、令牌值外部系统必须在指定请求头中发送共享令牌
Bearer Token请求头名称、令牌值外部系统必须在指定请求头中发送令牌,配置了前缀时需要带上前缀
签名校验App ID、App Secret、签名 Header外部系统必须对请求签名,并发送签名相关请求头

请求头示例​

以下示例只展示入站鉴权需要携带的请求头,请求体统一用空的 JSON 表示。

查询数据流程和消息推送流程使用同样的鉴权,地址分别是 /api/open-link/query/<flowCode> 和 /api/open-link/message-push/<flowCode>。

入站请求先做白名单校验,再做凭证校验。

无​

POST /api/open-link/inbound/webhooks/<flowCode> HTTP/1.1
Host: <runtime-origin>
Content-Type: application/json

{}

共享令牌​

POST /api/open-link/inbound/webhooks/<flowCode> HTTP/1.1
Host: <runtime-origin>
X-OpenLink-Token: <shared-token>
Content-Type: application/json

{}

请求头名称以共享令牌配置为准。

Bearer Token​

POST /api/open-link/inbound/webhooks/<flowCode> HTTP/1.1
Host: <runtime-origin>
Authorization: Bearer <token>
Content-Type: application/json

{}

请求头名称和前缀来自配置,默认是 Authorization 和 Bearer。校验时 Runtime 会先去掉前缀再比对令牌,所以不带前缀直接发送令牌也能通过。

签名校验​

POST /api/open-link/inbound/webhooks/<flowCode> HTTP/1.1
Host: <runtime-origin>
X-App-Id: partner-app
X-OpenLink-Timestamp: 2026-09-18T06:30:00.000Z
X-OpenLink-Signature: 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08
Content-Type: application/json

{}

签名原文是 METHOD\npath\ntimestamp\n原始 body,时间戳需要处于允许的时钟偏移窗口内,所以示例里的时间戳只是格式参考。签名格式和校验细节见下文。

共享令牌字段​

字段说明
请求头名称Soln 从入站请求中读取的请求头,例如 X-OpenLink-Token
令牌值共享密钥令牌;需要新令牌时使用更新凭证操作生成

Bearer Token 字段​

字段说明
请求头名称承载令牌的请求头,默认 Authorization
前缀令牌前的可选前缀,默认 Bearer
令牌值密钥令牌;需要新令牌时使用更新凭证操作生成

签名校验字段​

字段说明
App ID调用方需要提供的公开应用标识,通过固定的 X-App-Id 请求头发送
App Secret用于校验请求签名的密钥;需要新密钥时使用更新凭证操作生成
签名 Header承载签名的请求头
时间戳 Header承载请求时间戳的请求头
签名算法HMAC-SHA256、HMAC-SHA384 或 HMAC-SHA512,默认 HMAC-SHA256

入站校验使用配置的签名算法,默认为 HMAC-SHA256。调用方必须使用配置的 App Secret,对以下精确 UTF-8 内容签名:

METHOD\n/path\ntimestamp\n原始 JSON body

Method 必须大写,Path 不包含 Query。配置的时间戳 Header 必须存在,可使用 Unix 秒、Unix 毫秒或 ISO 时间;时间差必须处于允许窗口内,Runtime Web 创建的配置为 300 秒。签名 Header 可使用小写十六进制或 Base64 HMAC。

签名验证成功后,Runtime 会根据规范化签名派生内部防重放键。重复发送同一个已签名请求时返回已有执行,不会再次启动 Workflow 或重复业务写入;修改 X-Idempotency-Key 不能绕过该保护。调用方与 Runtime 主机需要保持时钟同步;新的时间戳代表新的签名请求。