微信订阅消息推送-Token校验失败-PHP

本文主要介绍了在使用PHP开发微信订阅消息推送接口时遇到的Token校验失败问题。通过调整Tp5框架的接收参数方式,并结合微信回调参数的分析,解决了echostr验证不通过的问题。在Postman测试中,成功返回echostr字符串,表明代码已正常运行。
摘要由CSDN通过智能技术生成


在这里插入图片描述

	/*
	 *微信订阅消息推送token校验
	 * */
	public function TokenCode()
	{	
		//参数接收根据自己框架的方式自行修改
		$signature = $this->request->param('signature');
		$timestamp = $this->request->param('timestamp');
		$echostr = $this->request->param('echostr'); //接收传递字符串
		$nonce = $this->request->param('nonce');
		$token = 'a5c6r7d8l9'; //和设置的Token一致
		$tmpArr = array($token, $timestamp, $nonce);
		sort($tmpArr, SORT_STRING);
		$tmpStr = implode( $tmpArr );
		$tmpStr = sha1( $tmpStr );
		if ($tmpStr == $signature ) {
			return $echostr;
		} else {
			return '返回失败';
		}
	}
备注: 接收参数的方式自行调整 我这里是Tp5框架演示 return 若是不行 就换成 echo $echostr; exit();

微信给出的实例代码 是没有 "echostr"这个参数的 所以需要自己加
微信回调的参数

'signature' => 'c5bb79fdca47378ebf851844f5718a6846a95969',
  'echostr' => '190543481234128882',
  'timestamp' => '1628038386',
  'nonce' => '1430849020',

这个我设置的token为 a5c6r7d8l9
postman测试接口 返回是 echostr的字符串 就代表代码莫得问题了
在这里插入图片描述

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值