miwoy / weapp-node-tunnel

小程序nodejs版本信道服务
MIT License
11 stars 6 forks source link

weapp-sdk报签名校验失败 #5

Open rayyzhong opened 3 years ago

rayyzhong commented 3 years ago

在SDK中,有检查签名校验,这里过不了,怎么解决?如果注释掉了可能安全下降。

            $data = $body['data'];
            $signature = $body['signature'];

            // 校验签名
            if (!Signature::check($data, $signature)) {
                throw new Exception('签名校验失败');
            }

            $data = json_decode($data, TRUE);
            $tunnelId = $data['tunnelId'];
miwoy commented 3 years ago

代码中有做签名计算 https://github.com/miwoy/weapp-node-tunnel/blob/75b9c309cd6fdbecfa6db95b7ec0ace458050f78/tunnelStore.js#L76

不过这个信道服务是三年前编写的,对应的wafer2版本是v1.3.2,而且只对接过nodejs的sdk。 我由于没有再做小游戏开发,这个项目就没有维护了。可能对新版本的wafer2支持并不好,建议只在平时调试使用,生产环境还是使用腾讯官方的信道服务比较好。

miwoy commented 3 years ago

一般的签名校验应当是三个参数,(数据,签名,tcKey),你检查一下是不是少传了一个参数tcKey