Phone: 158 4018 8888 Email: 407593529@qq.com

授权信息变更回调通知

2026-02-09 16:14:53 9

授权信息变更回调通知

接口说明

当授权信息发生变更时,系统会向开发者配置的回调地址发送 HTTP POST 请求,通知授权变更情况。

请求参数

参数名称 类型 必填 描述
type string 变更类型,如:created(新增), updated(变更)
site_address string 站点地址
company_name string 公司名称
contact_name string 联系人姓名
mobile string 手机号码
app_name string 应用名称
auth_code string 授权码
auth_secret string 授权秘钥
app_key string 应用标识
auth_expire_time datetime 授权更新到期时间
timestamp int 时间戳(秒级)
signature string 签名值,用于验证消息来源合法性

签名算法

为确保请求来自可信源,防止伪造请求,我们采用 MD5 对请求参数进行签名

步骤说明

准备数据

  • 将除 signature 外的所有参数放入一个数组中

  • 添加 secret 字段,其值为开发者在平台上设置的 Token

过滤与排序

  • 移除所有值为空(null 或 '')的字段

  • 按照参数名ASCII码升序排列键值对

构造待签字符串

  • 使用 http_build_query() 方法将排序后的参数转换成查询字符串形式

  • 在末尾追加 &secret=xxx (其中 xxx 是开发者令牌 key)

生成签名

对上述字符串执行一次 MD5 加密,得到最终签名值

示例代码(PHP)

function generateSignature(array $params, string $secret): string {
    // 过滤空值
    $filteredParams = array_filter($params, function ($value) {
        return !is_null($value) && $value !== '';
    });

    // 按键排序
    ksort($filteredParams);

    // 构造待签名字符串
    $queryString = http_build_query($filteredParams);
    $signString = $queryString . '&secret=' . $secret;

    // 返回MD5签名
    return md5($signString);
}

注意事项

  • 签名校验时需排除 signature 自身

  • 时间戳误差不能超过一定范围(建议 ±5 分钟内)以增强安全性

响应要求

接收到通知后,请返回以下任意一种响应状态码表示处理结果:

  • 成功:HTTP Status Code 介于 200 至 299 之间(例如 200 OK)

  • 失败:其他任何状态码或超时未响应

日志记录

建议您在接收端打印详细日志以便调试和追踪问题,包括但不限于:

  • 收到的原始请求体

  • 解析出的具体参数

  • 校验签名的结果

  • 最终处理逻辑是否正常完成

选择样式

选择布局
选择颜色
选择背景
选择背景