接口验签
本文整理于网络,仅供阅读参考,如有不妥之处,敬请批评指正!如果您想加入微擎社区版技术大牛微信群和QQ群,请联系微信: ccccyyyy4444 或者 QQ:155120699
通信token及验签
为了保证接口通信安全,如果在wxapp接口类中定义了 token, 则在请求时,系统文件会进行验证签名(开发者无需再次验签)。未定义时不会验证,验证过程如下:
if (!empty($site->token)) {
if (!$site->checkSign()) {
message(error(1, '签名错误'), '', 'ajax');
}
}
在小程序的JS框架中,util.url 和 util.request 函数请求接口时,会自动计算签名
签名算法
将链接地址的所有参数按字母排序后拼接上 siteinfo.token 的值然后md5。例如请求的URL如下:
http://pro.w7.cc/app/index.php?i=67&t=0&v=v1.0.3&from=wxapp&c=entry&a=wxapp&do=detail&&state=we7sid-dd18fc87753f3e64a2f95583bf855a13
先将querystring中的值取出,然后字母升序排序后连接得到如下结果:
a=wxapp&c=entry&do=detail&from=wxapp&i=67&id=423&m=rcdonkey_signup&state=we7sid-dd18fc87753f3e64a2f95583bf855a13&t=0&v=v1.0.3&
然后再拼接上siteinfo.token得到如下值
a=wxapp&c=entry&do=detail&from=wxapp&i=67&id=423&m=rcdonkey_signup&state=we7sid-dd18fc87753f3e64a2f95583bf855a13&t=0&v=v1.0.3&we7teammizhou
然后进行MD5得到签名,带入GET参数
http://pro.w7.cc/app/index.php?i=67&t=0&v=v1.0.3&from=wxapp&c=entry&a=wxapp&do=detail&&state=we7sid-dd18fc87753f3e64a2f95583bf855a13&sign=26fb15bb62fa4309c1d68735ba5e3a78
如果看不懂微擎社区版二次开发手册或者遇到问题,请联系微信: ccccyyyy4444 或者 QQ:155120699 ,如果我们有空闲时间,可以免费为您答疑解惑。